Coinbase Commerce
MCP Coinbase Commerce Server
This is a Model Context Protocol (MCP) server that connects to the Coinbase Commerce API, allowing AI assistants like Claude to generate cryptocurrency payment links.
Features
- Generate Coinbase Commerce payment links with customizable amount, currency, and description
- Retrieve information about existing charges
- Secure API key management
- Easy integration with Claude and other MCP-compatible AI assistants
Prerequisites
- Node.js 16.0+
- A Coinbase Commerce account
- Coinbase Commerce API key (Get one here)
Setup
-
Clone this repository:
git clone https://github.com/zhangzhongnan928/mcp-coinbase-commerce.git cd mcp-coinbase-commerce
-
Install dependencies:
npm install
-
Copy
.env.example
to.env
and add your Coinbase Commerce API key:cp .env.example .env # Edit .env file with your API key
-
Build the project:
npm run build
-
Start the server:
npm start
Usage with Claude for Desktop
Once the server is running, you can connect it to Claude for Desktop:
- Open Claude for Desktop
- Click on the Claude menu → Settings → Developer
- Click "Edit Config" to open
claude_desktop_config.json
- Add the MCP server configuration:
{
"mcpServers": {
"coinbase-commerce": {
"command": "node",
"args": ["/path/to/mcp-coinbase-commerce/dist/index.js"],
"env": {
"COINBASE_COMMERCE_API_KEY": "your_api_key_here"
}
}
}
}
- Save the file and restart Claude for Desktop
- You should now see a hammer icon in the chat interface, indicating available tools
Example Prompts for Claude
Once connected, you can ask Claude to generate payment links:
- "Can you create a payment link for $10 USD donations to my project?"
- "Generate a Coinbase Commerce payment link for my coffee shop with a price of $5.50"
- "Look up the payment status for charge ID 93e23c3e-8220-4e6c-9bc3-ea3548339621"
Claude will use the appropriate tools to fulfill these requests, generating payment links you can share with customers.
API Tools
create-charge
Generates a new payment link with the following parameters:
name
: Name of the payment/productdescription
: Description of what the payment is foramount
: Payment amount (e.g., "10.00")currency
: Currency code (e.g., "USD", "EUR", "BTC")redirectUrl
(optional): URL to redirect after payment completes
get-charge
Retrieves information about an existing charge using:
chargeId
: ID of the charge to retrieve
Development
To run the server in development mode:
npm run dev
Testing with MCP Inspector
You can test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.js
License
MIT