Infini Payment MCP Server
A Model Context Protocol (MCP) server built on the Infini Payment API that provides cryptocurrency payment processing capabilities.
Features
✅ Complete Order Management: Create, query, list, and reissue tokens
✅ Fund Withdrawal: Multi-chain withdrawal support
✅ Currency Support: Get supported cryptocurrency list
✅ Webhook Verification: Verify callback notification signatures
✅ HMAC-SHA256 Authentication: Compliant with Infini official signature specifications
✅ Environment Switching: Support for sandbox and production environments
Quick Start
1. Install Dependencies
2. Configure Environment Variables
Copy the environment template:
Edit the .env file and fill in your Infini API credentials:
3. Run the Server
Connect to Infini's MCP Server
Cursor
To add Infini MCP to Cursor, add the following to your ~/.cursor/mcp.json file:
To learn more, see the Cursor documentation.
VS Code
To add Infini MCP to VS Code, add the following to your .vscode/mcp.json file in your workspace:
To learn more, see the VS Code documentation.
Claude Code
To add Infini MCP to Claude Code, run the following command:
To learn more, see the Claude Code documentation.
ChatGPT
To add Infini MCP to ChatGPT, you need to configure it through the ChatGPT interface:
Go to Settings > Beta features > MCP Servers
Click "Add MCP Server"
Select "Local Server"
Enter the command:
uv run server.pySet the working directory:
/Users/yanbo/infini-mcp
Available Tools
Order Management
create_payment_order
Create a new payment order
Parameters:
request_id(str, required): Unique request IDamount(str, required): Order amountclient_reference(str, optional): Client referenceorder_desc(str, optional): Order descriptionmerchant_alias(str, optional): Custom merchant aliasexpires_in(int, optional): Expiration time in seconds, 0 for defaultsuccess_url(str, optional): Success callback URLfailure_url(str, optional): Failure callback URL
Returns: Order details including order_id and checkout_url
get_payment_order
Query order details
Parameters:
order_id(str, required): Order ID
list_payment_orders
Get order list
Parameters:
currency(str, optional): Currency filter (USDC/USDT)status(str, optional): Status filterpage(int, optional): Page number, default 1page_size(int, optional): Page size, default 10
reissue_order_token
Reissue checkout URL token
Parameters:
order_id(str, required): Order ID
Currency and Funds
get_supported_currencies
Get supported cryptocurrency list
withdraw_funds
Withdraw funds to external wallet
Parameters:
chain(str, required): Blockchain networktoken_type(str, required): Token typeamount(str, required): Withdrawal amountwallet_address(str, required): Destination wallet addressnote(str, optional): Note
Webhook Verification
verify_webhook_signature
Verify webhook notification signature
Parameters:
body(str, required): Webhook request bodysignature(str, required): Signaturetimestamp(str, required): Timestampwebhook_secret(str, optional): Webhook secret
Error Handling
The server automatically handles common HTTP errors including:
400: Request parameter errors
401: Authentication failure
403: Insufficient permissions
404: Resource not found
409: Business conflicts
500: Internal server errors
Test Environment
Test Network
Currently supports Tron Testnet (Nile) for testing:
Chain: Tron Testnet
Token: USDT (test coins)
Wallet: TronLink
Faucet: https://nileex.io/join/getJoinPage
Test Bank Card
Test card number: 4000000000000085 (test environment only)
Security Tips
Key Security: API keys and secrets must be securely stored, never expose to frontend
Request Idempotency: Use globally unique
request_idto ensure idempotencyRate Limiting: Default 600 requests per minute per API Key
Time Synchronization: Ensure server time accuracy (±300 seconds)
Development Notes
Signature Algorithm
This implementation strictly follows Infini official signature specifications:
Request without Body (GET):
Request with Body (POST):
Webhook Signature
Webhook uses timestamp + body for signature verification.
Support and Contact
For issues, please refer to Infini Official Documentation or contact technical support.