About mcp-moonpay
An MCP server for MoonPay's fiat-to-crypto on- and off-ramp, covering 100+ crypto assets across many regions, with Pix as a Brazil onramp rail. It suits applications and agents that need to buy or sell crypto, or check customer KYC status.
Key features
- 01Real-time buy and sell quotes
- 02Buy and sell transaction creation and lookup
- 03Customer KYC status lookup
- 04Transaction receipt retrieval
- 05Country, currency and payment method queries
- 06Signed buy and sell widget URLs
Use cases
- 01Giving an agent buy quotes and orders for crypto assets
- 02Checking an end user's KYC progress and transaction history
- 03Selling crypto and paying out to local fiat
MCP support
This is an MCP server that exposes 20 tools to MCP clients for buy, sell, customer and currency operations through the MoonPay API. It authenticates with an Api-Key header using MOONPAY_API_KEY.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-moonpayMOONPAY_API_KEYSecretMoonPay REST API key (sandbox or production — the key selects the environment)MOONPAY_PUBLISHABLE_KEYSecretMoonPay publishable key used as `apiKey` in signed widget URLs (required for sign_buy_url / sign_sell_url).MOONPAY_SECRET_KEYSecretMoonPay secret key used to HMAC-SHA256 sign widget URLs (required for sign_buy_url / sign_sell_url).MOONPAY_BASE_URLMoonPay API base URL. Defaults to https://api.moonpay.com.MOONPAY_BUY_WIDGET_URLMoonPay buy widget base URL. Defaults to https://buy.moonpay.com.MOONPAY_SELL_WIDGET_URLMoonPay sell widget base URL. Defaults to https://sell.moonpay.com.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
20Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| currencyCode | string | Yes | Crypto currency code you want to buy (e.g. btc, eth, usdc, sol). Must be a code returned by list_currencies. |
| paymentMethod | string | No | Optional payment method hint (e.g. credit_debit_card, sepa_bank_transfer, pix) |
| areFeesIncluded | boolean | No | If true, baseCurrencyAmount includes MoonPay fees. |
| baseCurrencyCode | string | Yes | Fiat currency you are paying with (e.g. usd, eur, brl, mxn) |
| baseCurrencyAmount | number | No | Amount in fiat to spend (major units). Either this or quoteCurrencyAmount must be supplied. |
| quoteCurrencyAmount | number | No | Amount of crypto to receive (major units). Either this or baseCurrencyAmount must be supplied. |
Details
From the project README@codespar/mcp-moonpay
MCP server for MoonPay — fiat-to-crypto on/off-ramp.
MoonPay spans 100+ crypto assets and many geographies, with both buy (fiat → crypto) and sell (crypto → fiat) flows. Pix is supported as a Brazil onramp rail.
Positioning vs the rest of the catalog
| Server | Coverage | Direction |
|---|---|---|
@codespar/mcp-unblockpay | BRL / MXN ↔ USDC | Onramp + offramp, stablecoin only |
@codespar/mcp-moonpay | 100+ crypto assets, multi-geo, Pix for BR | Onramp + offramp |
@codespar/mcp-mercado-bitcoin, @codespar/mcp-bitso | Exchange order books | Trade |
@codespar/mcp-circle | USDC native rails | Stablecoin infra |
Use MoonPay when an agent needs broader crypto coverage (beyond USDC), longer-tail geographies, or a sell-side flow that pays out to local fiat.
Tools (20)
| Tool | Purpose |
|---|---|
get_buy_quote | Preview a fiat -> crypto buy quote in real time. |
create_buy_transaction | Create a buy transaction (fiat -> crypto). |
get_buy_transaction | Retrieve a buy transaction (fiat -> crypto) by its MoonPay id. |
list_buy_transactions | List buy transactions with optional filters. |
get_sell_quote | Preview a crypto -> fiat sell quote in real time. |
create_sell_transaction | Create a sell transaction (crypto -> fiat). |
get_sell_transaction | Retrieve a sell transaction (crypto -> fiat) by its MoonPay id. |
refund_sell_transaction | Request a refund on an off-ramp (sell) transaction. |
create_customer | Create a MoonPay customer (KYC'd end user). |
get_customer | Retrieve a MoonPay customer by id. |
get_customer_kyc_status | Fetch KYC verification status (and any pending document requirements) for a MoonPay customer. |
list_customer_transactions | List all transactions (buy + sell) tied to a single MoonPay customer. |
get_transaction_receipt | Fetch a tax-/audit-grade receipt for a completed buy or sell transaction. |
list_currencies | List supported currencies (fiat + crypto). |
get_currency | Retrieve metadata for a single currency (fiat or crypto) by its MoonPay code. |
list_countries | List countries supported by MoonPay along with which flows (buy / sell / NFT) are allowed per geography. |
list_payment_methods | List payment methods supported for a given fiat currency / country combination (e.g. |
get_user_country | Resolve the caller's (or a given IP's) country via MoonPay's IP-address geolocation endpoint. |
sign_buy_url | Build and HMAC-SHA256 sign a MoonPay buy widget URL (buy.moonpay.com). |
sign_sell_url | Build and HMAC-SHA256 sign a MoonPay sell widget URL (sell.moonpay.com). |
Install
npm install @codespar/mcp-moonpay
Environment
MOONPAY_API_KEY="..." # API key (sandbox or production — the key selects the environment)
MOONPAY_BASE_URL="..." # Optional. Defaults to https://api.moonpay.com.
Authentication
Every request uses a simple header:
Authorization: Api-Key <MOONPAY_API_KEY>
Sandbox vs production is selected by the key itself — the base URL stays the same.
Run
# stdio (default — for Claude Desktop, Cursor, etc)
npx @codespar/mcp-moonpay
# HTTP (for server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-moonpay
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.