mcp-coinbase
Provides tools for interacting with Coinbase, enabling cryptocurrency price queries, portfolio management, transaction history, and trading (buy/sell) operations.
Click on "Deploy 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., "@mcp-coinbase Show my portfolio 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.
@striderlabs/mcp-coinbase
MCP (Model Context Protocol) server for Coinbase crypto exchange. Provides browser-automated tools for live prices, portfolio management, transaction history, and trading.
Tools
Tool | Description |
| Get current cryptocurrency prices from Coinbase |
| Get your Coinbase portfolio balances and values |
| Get recent transaction history |
| Place a buy order (with preview mode) |
| Place a sell order (with preview mode) |
| Get your deposit address for a cryptocurrency |
Related MCP server: Luno MCP Server
Installation
npm install -g @striderlabs/mcp-coinbase
npx playwright install chromiumOr from the tarball:
npm install -g striderlabs-mcp-coinbase-1.0.0.tgz
npx playwright install chromiumConfiguration
Set these environment variables before running:
export COINBASE_EMAIL="your@email.com"
export COINBASE_PASSWORD="yourpassword"
export COINBASE_2FA_CODE="123456" # optional: TOTP code, or leave blank to enter manuallyUsage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"coinbase": {
"command": "mcp-coinbase",
"env": {
"COINBASE_EMAIL": "your@email.com",
"COINBASE_PASSWORD": "yourpassword"
}
}
}
}Or using npx:
{
"mcpServers": {
"coinbase": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-coinbase"],
"env": {
"COINBASE_EMAIL": "your@email.com",
"COINBASE_PASSWORD": "yourpassword"
}
}
}
}Tool Reference
get_prices
Get current spot prices for one or more cryptocurrencies.
{
"symbols": ["BTC", "ETH", "SOL"],
"currency": "USD"
}Returns live prices fetched from the Coinbase public API — no login required.
get_portfolio
Get your full portfolio with balances and USD values. Requires login.
{}get_transactions
Get recent transaction history.
{
"limit": 20
}buy_crypto
Place a buy order. Use confirm: false (default) to preview the order without executing.
{
"symbol": "BTC",
"amount_usd": 100,
"confirm": false
}Set confirm: true to execute the trade.
sell_crypto
Place a sell order. Use confirm: false (default) to preview.
{
"symbol": "ETH",
"amount_crypto": 0.5,
"confirm": false
}get_wallet_address
Get your deposit address for a cryptocurrency.
{
"symbol": "BTC"
}2FA Handling
The server handles two-factor authentication gracefully:
If
COINBASE_2FA_CODEis set, it will be used automaticallyOtherwise, the server waits up to 60 seconds for you to complete 2FA in the browser
The browser session is reused across tool calls to minimize repeated logins
Browser Automation
This package uses Playwright with stealth mode (via playwright-extra + puppeteer-extra-plugin-stealth) to automate the Coinbase web interface. This approach:
Works with Coinbase's standard web UI
Handles dynamic page content
Bypasses basic bot detection via stealth plugin
Development
git clone https://github.com/markswendsen-code/mcp-coinbase
cd mcp-coinbase
npm install
npx playwright install chromium
npm run buildRun in dev mode (with tsx, no build step):
npm run devSecurity Notes
Never commit your Coinbase credentials to version control
Use environment variables for all sensitive configuration
The
confirm: falsedefault on buy/sell prevents accidental tradesReview all trades carefully before setting
confirm: true
License
MIT
Available Tools
6 toolsbuy_cryptoA
Place a buy order for cryptocurrency on Coinbase. Set confirm to false (default) for a preview, or true to execute. Requires COINBASE_EMAIL and COINBASE_PASSWORD environment variables.
Inputs: symbol (required), amount_usd (required), confirm.
get_portfolioA
Get your Coinbase portfolio balances and values. Requires COINBASE_EMAIL and COINBASE_PASSWORD environment variables.
Inputs: no named parameters.
get_pricesA
Get current cryptocurrency prices from Coinbase. Uses the public Coinbase API - no authentication required.
Inputs: symbols, currency.
get_transactionsA
Get recent transaction history from Coinbase. Requires COINBASE_EMAIL and COINBASE_PASSWORD environment variables.
Inputs: limit.
get_wallet_addressA
Get your Coinbase deposit address for a cryptocurrency. Requires COINBASE_EMAIL and COINBASE_PASSWORD environment variables.
Inputs: symbol (required).
sell_cryptoA
Place a sell order for cryptocurrency on Coinbase. Set confirm to false (default) for a preview, or true to execute. Requires COINBASE_EMAIL and COINBASE_PASSWORD environment variables.
Inputs: symbol (required), amount_crypto (required), confirm.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: portfolio, transactions, buy, sell, wallet address, and prices. There is no overlap or ambiguity between them.
All tools follow a consistent verb_noun pattern: get_ for reads, buy_/sell_ for actions. Naming is uniform and predictable.
With 6 tools, the server is well-scoped for Coinbase operations. Each tool serves a clear function without redundancy or bloat.
Core account management and trading workflows are covered: viewing balances, history, prices, buying, selling, and getting deposit address. Minor gaps exist (e.g., cancel order, send crypto) but these are not critical for a basic trading server.
Maintenance
Related MCP Connectors
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
JW3.ai remote MCP server for market reads and confirm-gated trading execution.
Hosted MCP server for MT4 and MT5: read accounts, prices and candles, and place or close orders.
Related MCP Servers
AlicenseBqualityBmaintenanceMCP Server for the CoinStats API. Provides access to cryptocurrency market data, portfolio tracking, and news.3055 npm17MIT- GoMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for cryptocurrency trading across multiple exchanges (Bybit, Binance, KuCoin, etc.) with real-time price data, comparison, and natural language query support. Integrates with AI assistants via the Model Context Protocol.MIT
- AlicenseCqualityBmaintenanceLocal paper-trading and market simulation MCP server for multi-account portfolios, advanced orders, options/futures, backtesting, alerts, and automation.60MIT