README.md•3.66 kB
# Finix MCP Server (Unofficial)
An unofficial, local MCP (Model Context Protocol) server that provides simplified access to Finix payment processing functionality.
⚠️ **This is an unofficial, community-built MCP server. It is not affiliated with or endorsed by Finix.**
## Features
- **Documentation Search**: Search Finix documentation through an MCP-compatible interface
- **Identity Management**: Create and list buyers and sellers with simplified parameters
- **Payment Links**: Create payment links with just merchant ID, price, and quantity
- **Streamlined API**: All tools use simple parameters for ease of use and reduced token usage
## Installation
```bash
npm install
```
## Configuration
Set your Finix credentials and environment:
```bash
export FINIX_USERNAME="your-username"
export FINIX_PASSWORD="your-password"
export FINIX_ENVIRONMENT="Sandbox" # or "Live"
```
Environment options:
- `Sandbox` (default) - Uses `https://finix.sandbox-payments-api.com`
- `Live` or `Production` - Uses `https://finix.live-payments-api.com`
## Usage
### Running the Server
Start the MCP server:
```bash
npm start
```
For development with auto-reload:
```bash
npm dev
```
### Build TypeScript
```bash
npm run build
```
### Integrating with Claude Code
Add this configuration to your Claude Code mcp file:
```json
{
"mcpServers": {
"finix-docs": {
"command": "npx",
"args": ["tsx", "/path/to/finix-mcp/server.ts"],
"env": {
"FINIX_USERNAME": "your-username",
"FINIX_PASSWORD": "your-password",
"FINIX_ENVIRONMENT": "Sandbox" //Or 'Live' for Live
}
}
}
}
```
## Available Tools
### search_finix_docs
Search the Finix documentation for relevant information.
**Parameters:**
- `query` (string, required): The search query to find relevant Finix documentation
- `limit` (number, optional): Maximum number of results to return (default: 10)
- `category` (string, optional): Filter by document category (`"api"`, `"docs"`, or `"all"`)
### create_buyer
Create a new buyer identity with essential information.
**Parameters:**
- `email` (string, required): The email address of the buyer
- `first_name` (string, required): The first name
- `last_name` (string, required): The last name
- `phone` (string, required): The phone number
**Returns:** `{id: "buyer_id"}`
### create_seller
Create a new seller identity with comprehensive business information.
**Parameters:**
- Multiple required fields including email, business details, and underwriting information
- See tool schema for complete parameter list
**Returns:** Full seller object with all details
### list_buyers
Fetch a list of buyers with simple filtering.
**Parameters:**
- `limit` (number, optional): Number of buyers to return (1-100)
- `email` (string, optional): Filter by email address
**Returns:** `[{id: "buyer_id"}, ...]`
### list_sellers
Fetch a list of sellers with simple filtering.
**Parameters:**
- `limit` (number, optional): Number of sellers to return (1-100)
- `email` (string, optional): Filter by email address
**Returns:** `[{id: "seller_id"}, ...]`
### create_payment_link
Create a payment link for processing payments.
**Parameters:**
- `merchant_id` (string, required): The ID of the merchant
- `price` (number, required): The unit price in cents
- `quantity` (number, required): The quantity of the product
**Returns:** `{id: "payment_link_id", url: "https://..."}`
## Development
The server is built with:
- TypeScript for type safety
- @modelcontextprotocol/sdk for MCP implementation
- Native fetch API for HTTP requests
- StdioServerTransport for communication
## License
ISC