About mcp-coinbase-commerce
mcp-coinbase-commerce is an MCP server for Coinbase Commerce, which lets merchants accept crypto payments. Merchants price orders in local fiat while buyers settle in assets such as BTC, ETH or USDC. It suits merchants and developers who want an agent to create charges, invoices and checkout pages.
Key features
- 01Create crypto charges priced in fiat
- 02Reusable hosted checkout pages
- 03Directed invoices sent to named recipients
- 04Exchange rate and payment event lookup
- 05Local webhook signature verification
Use cases
- 01Having an agent generate crypto payment links for buyers
- 02Managing reusable checkout pages for products
- 03Tracking charge status and reviewing webhook events
MCP support
The server exposes 18 MCP tools covering charges, checkouts, invoices, events and exchange rates for MCP clients to call.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-coinbase-commerceCOINBASE_COMMERCE_API_KEYSecretCoinbase Commerce API key. Create one at https://beta.commerce.coinbase.com/settings/security.COINBASE_COMMERCE_API_VERSIONCoinbase Commerce API version pin (X-CC-Version header). Defaults to 2018-03-22.COINBASE_COMMERCE_WEBHOOK_SECRETSecretShared secret used to verify X-CC-Webhook-Signature on incoming webhooks. Only required for the verify_webhook_signature tool.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
18Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Short product/order name shown on the hosted payment page |
| metadata | object | No | Arbitrary JSON you want echoed back on events (customer_id, order_id, etc.) |
| cancel_url | string | No | Browser redirect if the buyer abandons the hosted page |
| description | string | Yes | Longer human-readable description of what the buyer is paying for |
| local_price | object | No | Fiat-denominated price the charge is quoted in. Required when pricing_type is fixed_price. |
| local_price.amount | string | Yes | Amount as a decimal string (e.g. "29.90") |
| local_price.currency | string | Yes | ISO-4217 fiat currency code (e.g. USD, BRL, EUR, MXN) |
| pricing_type | enum | Yes | fixed_price: exact amount in local_price. no_price: buyer chooses (donations).fixed_price | no_price |
| redirect_url | string | No | Browser redirect after a successful payment |
Details
From the project README@codespar/mcp-coinbase-commerce
MCP server for Coinbase Commerce — global crypto merchant payments.
Coinbase Commerce is the merchant-accept side of crypto. Your store prices an order in local fiat (USD, BRL, EUR, MXN, ...), the buyer settles in BTC / ETH / USDC / and other supported assets, and Coinbase settles to you in the crypto or fiat of your choice.
Positioning vs the rest of the catalog
| Server | Use case | Direction |
|---|---|---|
@codespar/mcp-coinbase-commerce | Merchants accept crypto at checkout | Buyer pays merchant |
@codespar/mcp-unblockpay | BRL / MXN <-> USDC corridor | Value transfer |
@codespar/mcp-moonpay | End-user fiat <-> crypto (100+ assets) | Onramp / offramp |
@codespar/mcp-transak | End-user fiat <-> crypto (broad geo) | Onramp / offramp |
Use Coinbase Commerce when an agent needs to bill a buyer in crypto — hosted charge page, reusable checkout, or directed invoice.
Tools (18)
| Tool | Purpose |
|---|---|
create_charge | Create a crypto charge — a one-time merchant invoice priced in local fiat that a buyer can settle in BTC, E... |
retrieve_charge | Retrieve a charge by its Coinbase Commerce id OR its short code (the 8-character code embedded in the hoste... |
list_charges | List charges, newest first. |
cancel_charge | Cancel a charge that has not yet been paid. |
resolve_charge | Manually resolve a charge as paid. |
create_checkout | Create a reusable hosted checkout — think product-page-style link that can be paid multiple times. |
retrieve_checkout | Retrieve a checkout by id. |
list_checkouts | List reusable hosted checkouts, newest first. |
update_checkout | Update an existing reusable checkout. |
delete_checkout | Delete a reusable checkout. |
list_events | List events — the lifecycle signals (charge:created, charge:confirmed, charge:failed, charge:delayed, charg... |
retrieve_event | Retrieve a single event by id. |
create_invoice | Create an invoice — a directed bill sent to a specific named recipient. |
retrieve_invoice | Retrieve an invoice by code. |
list_invoices | List invoices, newest first. |
void_invoice | Void an unpaid invoice. |
list_exchange_rates | Fetch current Coinbase exchange rates for a base asset (e.g. |
verify_webhook_signature | Local helper — verify a Coinbase Commerce webhook payload using HMAC-SHA256. |
Install
npm install @codespar/mcp-coinbase-commerce
Environment
COINBASE_COMMERCE_API_KEY="..." # API key (required, secret)
COINBASE_COMMERCE_API_VERSION="..." # Optional. Defaults to 2018-03-22.
Create an API key at https://beta.commerce.coinbase.com/settings/security.
Authentication
Every request carries two headers:
X-CC-Api-Key: <COINBASE_COMMERCE_API_KEY>
X-CC-Version: 2018-03-22
The version header is required. Pin it so future API changes don't silently break your integration.
Run
# stdio (default — for Claude Desktop, Cursor, etc)
npx @codespar/mcp-coinbase-commerce
# HTTP (for server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-coinbase-commerce
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.