About mcp-unblockpay
mcp-unblockpay is an MCP server for UnblockPay, covering cross-border fiat and stablecoin flows across customers, wallets, quotes, pay-ins and payouts. It suits developers and finance teams who want AI tools to start cross-border payments.
Key features
- 01Customer and KYC verification management
- 02Stablecoin wallet creation and lookup
- 03FX and fee quote locking
- 04Fiat-to-stablecoin pay-ins
- 05Stablecoin-to-fiat payouts
- 06Transaction status lookup and cancellation
Use cases
- 01Starting BRL, USD, EUR or MXN cross-border payments through an AI assistant
- 02Checking and cancelling pending cross-border transactions
- 03Testing stablecoin pay-in and payout flows in a sandbox
MCP support
This is an MCP server that exposes 13 tools for customers, wallets, quotes and transactions to MCP clients. It uses an API key to access the UnblockPay v1 API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-unblockpayUNBLOCKPAY_API_KEYSecretAPI key from the UnblockPay dashboardUNBLOCKPAY_BASE_URLOptional API base URL. Defaults to https://api.unblockpay.com/v1. Set to https://api.sandbox.unblockpay.com/v1 to hit the sandbox.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
13Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | enum | Yes | Customer typeindividual | business |
| string | No | ||
| tax_id | string | No | CNPJ for BRA business, EIN for USA, RFC for MEX, etc. |
| address | object | No | |
| address.city | string | No | |
| address.state | string | No | |
| address.country | string | No | 3-letter ISO code |
| address.postal_code | string | No | |
| address.street_line_1 | string | No | |
| address.street_line_2 | string | No | |
| country | string | Yes | 3-letter ISO 3166-1 alpha-3 country code (BRA, USA, MEX) |
| last_name | string | No | Required when type=individual |
| first_name | string | No | Required when type=individual |
| phone_number | string | No | E.164 format, e.g. +5511999999999 |
| date_of_birth | string | No | ISO date (YYYY-MM-DD). Required when type=individual |
| business_legal_name | string | No | Required when type=business |
| date_of_incorporation | string | No | ISO date (YYYY-MM-DD). REQUIRED when type=business |
Details
From the project README@codespar/mcp-unblockpay
MCP server for UnblockPay — fiat ↔ stablecoin cross-border via Customer → Wallet → Quote → Payin/Payout
Quick Start
Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"unblockpay": {
"command": "npx",
"args": ["-y", "@codespar/mcp-unblockpay"],
"env": {
"UNBLOCKPAY_API_KEY": "your-key"
}
}
}
}
Claude Code
claude mcp add unblockpay -- npx @codespar/mcp-unblockpay
Cursor / VS Code
Add to .cursor/mcp.json or .vscode/mcp.json:
{
"servers": {
"unblockpay": {
"command": "npx",
"args": ["-y", "@codespar/mcp-unblockpay"],
"env": {
"UNBLOCKPAY_API_KEY": "your-key"
}
}
}
}
Tools (13)
| Tool | Purpose |
|---|---|
create_customer | Create an individual or business customer (KYC mother). Business customers require date_of_incorporation. |
list_customers | List customers under the operator's API key (limit mandatory by the v1 pagination contract). |
verify_customer | Trigger the KYC verification check. Idempotent (returns 422 customer_cannot_be_verified when already approved). |
get_verification_details | Poll KYC state — returns customer_status: pending | approved | rejected | partially_rejected. |
create_wallet | Create a stablecoin wallet under an APPROVED customer. |
list_wallets | List wallets under the operator's API key. |
create_external_account | Register a fiat receiver account (BRL Pix, USD wire, EUR SEPA, MXN SPEI). Skippable for BRL Pix payouts via the pix_key + document shortcut on create_payout. |
list_external_accounts | List external accounts under the operator's API key. |
create_quote | Lock an FX + fee quote for 5 minutes. Pass amount on EITHER sender or receiver, not both. |
create_payin | Fiat → stablecoin pay-in referencing a quote_id. Returns deposit instructions (<Pix Copy & Paste EMV> for BR). |
create_payout | Stablecoin → fiat payout referencing a quote_id. customer_id is REQUIRED at the top level. |
get_transaction | Poll transaction status. Lifecycle: awaiting_deposit → processing → completed (or failed / refunded / cancelled / error). |
cancel_transaction | Cancel a transaction. Only valid while status is awaiting_deposit. |
Authentication
UnblockPay uses an API key passed verbatim in the Authorization header (no Bearer prefix). The server sets that header for you — you just provide the key via UNBLOCKPAY_API_KEY.
Sandbox / Testing
UnblockPay provides a separate sandbox environment for testing. Point the server at it by setting UNBLOCKPAY_BASE_URL=https://api.sandbox.unblockpay.com/v1 and using a sandbox-issued API key.
Get your credentials
- Sign in at app.unblockpay.com (or follow the docs)
- Generate an API key in the dashboard
- Set the
UNBLOCKPAY_API_KEYenvironment variable - (Sandbox only) Also set
UNBLOCKPAY_BASE_URL=https://api.sandbox.unblockpay.com/v1
Environment Variables
| Variable | Required | Description |
|---|---|---|
UNBLOCKPAY_API_KEY | Yes | API key from the UnblockPay dashboard |
UNBLOCKPAY_BASE_URL | No | Defaults to https://api.unblockpay.com/v1. Set to https://api.sandbox.unblockpay.com/v1 for sandbox. |
Roadmap
The 13 tools above mirror UnblockPay's current v1 API. New tools are added as UnblockPay expands the surface.
Want to contribute? Open a PR or request a tool.
Links
Enterprise
Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.