mcp-server-skyfire
A Model Context Protocol (MCP) server implementation that interfaces with the Skyfire payment system. This server enables AI models to make payments through Skyfire's infrastructure using a standardized protocol.
Overview
This server implements the Model Context Protocol to provide payment functionality via Skyfire's API. It exposes a single tool, make_payment
, which allows authorized clients to initiate payments to Skyfire users.
Prerequisites
- Node.js (ES2022 compatible)
- TypeScript
- A valid Skyfire API key
Installation
- Clone the repository:
git clone <repository-url>
cd mcp-server-skyfire
- Install dependencies:
npm install
- Create a
.env
file in the root directory and add your Skyfire API key:
SKYFIRE_API_KEY=your_api_key_here
Building
To build the project:
npm run build
This will:
- Compile TypeScript to JavaScript
- Make the output file executable
- Place the built files in the
./build
directory
Features
The server exposes one tool through the MCP interface:
make_payment
Makes a payment to a specified Skyfire user.
Parameters:
receiverUsername
(string): The username of the payment recipientamount
(string): The payment amount
Example Response:
{
"content": [
{
"type": "text",
"text": "Payment of [amount] successfully sent to [username]"
}
]
}
Error Handling
The server implements comprehensive error handling for various scenarios:
- Invalid tool name: Returns
MethodNotFound
error - Missing or invalid parameters: Returns
InvalidParams
error - Payment processing failures: Returns
InternalError
error
Dependencies
Main dependencies include:
@modelcontextprotocol/sdk
: ^1.0.3@skyfire-xyz/skyfire-sdk
: ^0.8.5dotenv
: ^16.4.7zod
: ^3.24.1
Development
The project is set up with TypeScript and includes:
- Strict type checking
- ES2022 target
- Node16 module resolution
- Consistent file casing enforcement
Running the Server
The server runs on standard input/output (stdio). After building, you can run it using:
./build/index.js
Or through the npm binary:
mcp-server-skyfire