Coinbase MCP Server
Provides tools for interacting with the Coinbase Advanced Trading API, enabling AI agents to manage accounts, orders, products, portfolios, converts, futures, and execute autonomous trading strategies.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Coinbase MCP Servercheck my BTC balance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Coinbase MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with the Coinbase Advanced Trading API. This repository includes both the MCP server and a Claude Skill for fully autonomous crypto trading.
With this project, AI assistants like Claude can not only check account balances, place trades, and view market data, but also execute automated trading strategies end-to-end via the included autonomous trading agent (/trade Skill).
⚠️ WARNING: REAL MONEY TRADING ⚠️
This MCP server and the included Autonomous Trading Bot will execute real trades on your Coinbase account if you use them with valid API keys. Your actual funds can be bought, sold, or lost automatically.
Never use this software with funds you cannot afford to lose.
Always test with
dry-runmode first.Use read-only or test API keys for development.
Automated trading is risky and can result in significant financial loss.
Getting Started
Get from zero to running /trade 10 EUR from BTC in 5 minutes.
1. Get Coinbase API Credentials
Create a new project or select an existing one
Navigate to API Keys → Create API Key
Select Trading permissions (read and trade)
Download your credentials:
API Key Name:
organizations/xxx/apiKeys/yyyPrivate Key: PEM format (starts with
-----BEGIN EC PRIVATE KEY-----)
Warning: Save your private key immediately. You won't be able to retrieve it again.
2. Clone and Setup
git clone https://github.com/visusnet/coinbase-mcp-server
cd coinbase-mcp-server
npm install3. Create .env File
Copy the example and fill in your credentials:
cp .env.example .envEdit .env:
COINBASE_API_KEY_NAME=organizations/your-org/apiKeys/your-key-id
COINBASE_PRIVATE_KEY="-----BEGIN EC PRIVATE KEY-----
MHcCAQEEI...your-key-here...
-----END EC PRIVATE KEY-----"4. Start the Server
npm run build
npm startYou should see: Coinbase MCP Server running on http://localhost:3005/mcp
5. Open Claude Code
claudeThe MCP server is automatically configured (via .claude/settings.json in this repo).
6. Start Trading
/trade 10 EUR from BTC dry-runThat's it! The trading agent will analyze the market and show you what trades it would make.
Remove dry-run to execute real trades.
Alternative: Use with npx (without cloning)
If you just want to use the MCP server without the /trade skill or development setup:
1. Install and Run
npx coinbase-mcp-server2. Set Environment Variables
The server requires Coinbase API credentials. Create a .env file in your current directory:
COINBASE_API_KEY_NAME=organizations/your-org/apiKeys/your-key-id
COINBASE_PRIVATE_KEY="-----BEGIN EC PRIVATE KEY-----
...your-key...
-----END EC PRIVATE KEY-----"
PORT=3005Or export them in your shell:
export COINBASE_API_KEY_NAME="organizations/your-org/apiKeys/your-key-id"
export COINBASE_PRIVATE_KEY="-----BEGIN EC PRIVATE KEY-----
...your-key...
-----END EC PRIVATE KEY-----"
export PORT=3005Then start the server:
npx coinbase-mcp-server3. Configure Claude
Add the MCP server to your Claude settings (e.g., ~/.claude/settings.json):
{
"mcpServers": {
"coinbase": {
"url": "http://localhost:3005/mcp"
}
}
}Now you can use all 74 tools (46 Coinbase API + 24 indicators + 2 analysis + 1 event + 1 market intelligence) and the /coinbase:assist prompt in Claude, but without the autonomous /trade skill.
Features
74 Tools: Trading, Indicators & Analysis
Full access to the Coinbase Advanced Trading API plus a fully autonomous trading skill for Claude:
Accounts: List accounts, get balances
Orders: Create, edit, cancel, preview orders
Products: List trading pairs, get candles (including batch for up to 10 products), order books, market trades, market snapshots
Portfolios: Create, manage, move funds between portfolios
Converts: Currency conversion quotes and execution
Futures & Perpetuals: Position management
Public Data: No-auth endpoints for market data
Autonomous Trading Agent (Skill): Automates technical/sentiment analysis and trading decisions via
/tradecommand in ClaudeTOON Output Format: All tools support optional compact format (~35% fewer tokens for list operations)
For a complete list of all trading skill features, see SKILL_FEATURES.md.
Trading Assistant Prompt (/coinbase:assist)
A built-in prompt that provides comprehensive guidance for trading on Coinbase:
/coinbase:assistWhat it provides:
Complete overview of all available tools and capabilities
Trading best practices and safety guidelines
Fee considerations and market context
Recommended workflow for order creation (always preview first)
Autonomous Trading Agent (/trade)
A built-in Claude command that runs an autonomous trading bot:
/trade 10 EUR from BTC
/trade 5 EUR dry-runWhat it does:
Technical analysis: 24 indicators across 6 weighted categories (Momentum 25%, Trend 30%, Volatility 15%, Volume 15%, S/R 10%, Patterns 5%)
Sentiment analysis (Fear & Greed Index with 7 regions, news search)
Automatic order execution with preview
Dynamic ATR-based stop-loss/take-profit
Attached bracket orders (crash-proof TP/SL via Coinbase API)
Trailing stop (locks in profits)
Liquidity check before altcoin entries (spread >0.5%: skip, 0.2-0.5%: reduce to 50%)
HODL Safe portfolio isolation (protects user holdings via separate portfolio)
Profit protection (configurable % of gains auto-moved to HODL Safe)
Event-driven market monitoring (price, volume & indicator conditions)
Opportunity rebalancing (exit stagnant positions)
Continuous loop until you stop it
For a complete list of all trading features, see SKILL_FEATURES.md.
Configuration:
Setting | Default | Customizable |
Strategy | Aggressive | No |
Take-Profit | ATR-based (min 2.5%) | Via ATR |
Stop-Loss | ATR-based (2.5-10%) | Via ATR |
Trailing Stop | 1.5% trail after +3%, min lock-in 1.0% | No |
Check Interval | 15 minutes | Yes ( |
Profit Protection | 50% of profits moved to HODL Safe | Yes (choose at session start: 0%, 50%, 100%, or custom) |
Rebalancing | After 12h if <3% move, delta >40, max loss -2%, cooldown 4h, max 3/day | Yes ( |
Pairs | All SPOT pairs (USD, EUR, USDT) | No |
Stop the agent: Press Ctrl+C
Usage Examples
Natural Language
Just ask Claude:
"What are my account balances?"
"Show me the current BTC-EUR price"
"Buy 0.001 BTC at market price"
"Get the last 24 hours of ETH-EUR candles"Trading Agent
# Dry run (no real trades)
/trade 10 EUR from BTC dry-run
# Real trading with 10 EUR from your BTC
/trade 10 EUR from BTC
# Trade with EUR balance directly
/trade 5 EUR
# Custom interval (check every 5 minutes)
/trade 10 EUR from BTC interval=5m
# Fast trading (every 60 seconds, dry-run)
/trade 5 EUR interval=60s dry-run
# Continue previous session
/trade continue where you left offDevelopment
Project Structure
coinbase-mcp-server/
├── src/
│ ├── index.ts # HTTP server entry point
│ └── server/
│ └── CoinbaseMcpServer.ts # MCP server with 74 tools
├── .claude/
│ ├── settings.json # MCP server config (auto-loaded)
│ └── commands/
│ └── trade.md # /trade command definition
├── .env.example # Environment template
└── package.jsonScripts
npm start # Start production server
npm run start:dev # Start with hot-reload
npm test # Run tests
npm run lint # Check code style
npm run build # Build for production
npm run inspect # Open MCP Inspector for debuggingTesting with MCP Inspector
Interactive UI
Start the server:
npm run start:devIn another terminal:
npm run inspectConnect to
http://localhost:3005/mcpTest any of the 74 tools interactively
CLI
Use the MCP Inspector CLI to call tools directly without the browser UI:
# List all accounts
npx @modelcontextprotocol/inspector --cli node dist/index.js --stdio \
--method tools/call \
--tool-name list_accounts
# Get a specific product
npx @modelcontextprotocol/inspector --cli node dist/index.js --stdio \
--method tools/call \
--tool-name get_product \
--tool-arg productId=BTC-EURThe --stdio flag tells the server to use stdio transport instead of HTTP, which the inspector CLI requires.
Security
Never commit
.env- It's in.gitignoreUse read-only keys for testing - Create separate keys with minimal permissions
Rotate keys regularly
Monitor API usage - Check your Coinbase account for unexpected activity
API Rate Limits
Public endpoints: 10 requests/second
Private endpoints: 15 requests/second
Troubleshooting
Problem | Solution |
"Authentication failed" | Check API key and private key format (PEM with newlines) |
"Server not responding" | Ensure |
"/trade not found" | Restart Claude Code to reload commands |
Tools not showing | Verify |
Resources
Disclaimer
This software is for educational purposes. Cryptocurrency trading involves significant risk. The autonomous trading agent can and will lose money.
Start with small amounts
Use
dry-runmode firstMonitor the agent's decisions
Never invest more than you can afford to lose
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/visusnet/coinbase-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server