coinbase-mcp

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2026 License: MIT

README ¶

coinbase-mcp

CI

🚧   UNDER CONSTRUCTION   🚧

This server is an early scaffold — a work in progress.

It runs over stdio with one read-only toolset wired end-to-end.
More toolsets are on the way (see the TODO list below).
APIs, configuration, and tool names may still change.


A Model Context Protocol (MCP) server, written in Go, exposing the Coinbase Advanced Trade API as tools an LLM client (Claude Desktop/Code, Cursor, and others) can call.

Features

  • Typed tools with schemas: every tool has an auto-generated JSON Schema for its input and output, inferred from Go structs.
  • Read-only switch: COINBASE_READONLY=true hides every mutating tool.
  • Toolset filtering: enable only the areas you need with COINBASE_TOOLSETS.
  • Public by default: market-data tools need no credentials.

Install

go install github.com/rangertaha/coinbase-mcp/cmd/coinbase@latest

Or build from source:

git clone https://github.com/rangertaha/coinbase-mcp
cd coinbase-mcp
make build        # produces ./bin/coinbase

CLI

coinbase mcp      # run the MCP server over stdio (default when no subcommand)
coinbase test     # verify connectivity

Configuration

Variable Required Description
COINBASE_API_KEY no CDP API key name (enables authenticated tools).
COINBASE_API_SECRET no CDP API private key.
COINBASE_BASE_URL no API base URL (default https://api.coinbase.com).
COINBASE_TOOLSETS no Comma-separated toolset names to enable, or all.
COINBASE_READONLY no true to expose only read-only tools.

Toolsets

Toolset Covers
products list tradeable products (products_list) and get one (products_get) — public market data
TODO toolsets
  • accounts — wallet balances (needs CDP JWT auth).
  • orders — list/create/cancel orders (write; needs auth).
  • fills — trade history (needs auth).

Authenticated toolsets require a CDP JWT client.Authorizer; see the TODO in internal/coinbase/coinbase.go.

License

MIT — see LICENSE.

Directories ¶

Path Synopsis
cmd
coinbase command
Command coinbase runs the Coinbase Model Context Protocol server (`coinbase mcp`) and checks connectivity (`coinbase test`).
Command coinbase runs the Coinbase Model Context Protocol server (`coinbase mcp`) and checks connectivity (`coinbase test`).
Package internal holds build-wide values shared across ado-mcp, such as the server version reported to MCP clients.
Package internal holds build-wide values shared across ado-mcp, such as the server version reported to MCP clients.
app
Package app assembles the fully-configured coinbase-mcp server from configuration.
Package app assembles the fully-configured coinbase-mcp server from configuration.
client
Package client provides a small, dependency-free HTTP client for talking to JSON REST APIs.
Package client provides a small, dependency-free HTTP client for talking to JSON REST APIs.
coinbase
Package coinbase holds the connection to the Coinbase Advanced Trade API that the per-area tool packages (products, …) share.
Package coinbase holds the connection to the Coinbase Advanced Trade API that the per-area tool packages (products, …) share.
coinbase/products
Package products exposes Coinbase Advanced Trade public market data: the list of tradeable products and per-product details.
Package products exposes Coinbase Advanced Trade public market data: the list of tradeable products and per-product details.
config
Package config loads and validates runtime configuration for the coinbase-mcp server from environment variables.
Package config loads and validates runtime configuration for the coinbase-mcp server from environment variables.
prompts
Package prompts registers MCP prompts: user-invoked, parameterized templates that clients surface as slash commands.
Package prompts registers MCP prompts: user-invoked, parameterized templates that clients surface as slash commands.
server
Package server wires the Model Context Protocol server together: it owns the underlying mcp.Server, enforces the read-only policy, and exposes typed helpers that the per-area tool packages use to register tools.
Package server wires the Model Context Protocol server together: it owns the underlying mcp.Server, enforces the read-only policy, and exposes typed helpers that the per-area tool packages use to register tools.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL