Binance Trading Agent MCP Server
Connects LLM agents to Binance Spot API for safe market data access and testnet trading with built-in risk controls.
README
Binance Trading Agent (MCP)
A safety-first Model Context Protocol (MCP) server that connects any LLM client (Claude, Cursor, custom agents) to the Binance Spot API — with a hard focus on guardrails, testnet-first development, and auditable order flow.
<p> <img alt="status" src="https://img.shields.io/badge/status-Phase%201--done-brightgreen"> <img alt="protocol" src="https://img.shields.io/badge/protocol-MCP-blue"> <img alt="exchange" src="https://img.shields.io/badge/exchange-Binance%20Spot-f0b90b"> <img alt="safety" src="https://img.shields.io/badge/mode-testnet--first-green"> <img alt="license" src="https://img.shields.io/badge/license-MIT-lightgrey"> </p>
Phase 1 — Read-Only Tools
7 read-only MCP tools for reading market data and account info on Binance Spot Testnet.
| Tool | Type | Input | Purpose |
|---|---|---|---|
get_spot_price |
public | symbol | price, 24h change, bid/ask, high/low, volume |
get_klines |
public | symbol, interval, limit | candlestick data |
get_order_book |
public | symbol, limit | order book depth |
get_symbol_rules |
public | symbol | minQty, stepSize, tickSize, minNotional |
get_account_balances |
private | hideZero | free/locked balances, canTrade |
get_open_orders |
private | symbol? | open orders |
get_trade_history |
private | symbol, limit | recent trades |
Not in Phase 1: order placement/cancellation, futures, margin, OCO, websockets, autonomous actions.
Architecture
src/
binance/ Layer 1 — Binance HTTP client
client.ts signedRequest / publicRequest, retry, timeout
signing.ts HMAC SHA256
errors.ts typed error classes
rateLimiter.ts weight tracking + backoff
types.ts response types
services/ Layer 2 — domain services (normalization)
marketDataService.ts
accountService.ts
tools/ Layer 3 — MCP tools (1 file = 1 tool)
getSpotPrice.ts ... getTradeHistory.ts
config.ts .env validation (zod)
logger.ts structured JSON logging
server.ts MCP server registration
tests/
unit/ signing, errors, rateLimiter, services, client
Getting started
# 1. Install
npm install
# 2. Configure (Binance Spot TESTNET keys)
cp .env.example .env
# Edit .env with your testnet keys
# 3. Run the MCP server
npm run dev
Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"binance": {
"command": "npx",
"args": ["tsx", "/path/to/binance-trading-agent-mcp/src/server.ts"]
}
}
}
Connect to Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"binance": {
"command": "npx",
"args": ["tsx", "/path/to/binance-trading-agent-mcp/src/server.ts"]
}
}
}
Example tool calls
Get BTC price:
tool: get_spot_price
args: { "symbol": "BTCUSDT" }
Get 1h klines (last 100 candles):
tool: get_klines
args: { "symbol": "BTCUSDT", "interval": "1h", "limit": 100 }
Get order book (top 20 levels):
tool: get_order_book
args: { "symbol": "ETHUSDT", "limit": 20 }
Get symbol trading rules:
tool: get_symbol_rules
args: { "symbol": "BTCUSDT" }
Get account balances:
tool: get_account_balances
args: { "hideZero": true }
Get open orders:
tool: get_open_orders
args: { "symbol": "BTCUSDT" }
Get trade history:
tool: get_trade_history
args: { "symbol": "BTCUSDT", "limit": 50 }
Tests
# Run all unit tests
npm test
# Watch mode
npm run test:watch
Tech stack
- Language: TypeScript (Node 20+)
- Protocol: Model Context Protocol (MCP)
- Exchange API: Binance Spot REST
- Tooling: vitest, zod, pino
Roadmap
- [x] Phase 1 — Binance client + 7 read-only tools
- [ ] Phase 2 — Safe testnet trading: risk/policy layer,
preview/place/cancel, full logging - [ ] Phase 3 — Strategy design + backtesting on historical klines + paper trading
- [ ] Phase 4 — (optional) minimal real-money trading with strict limits
- [ ] Phase 5 — (optional) futures support
Disclaimer
This is engineering infrastructure, not financial advice. Automated trading with real funds carries real risk of loss. Use the Binance Testnet and dry_run mode by default. You are solely responsible for any keys, funds, strategy, and regulatory compliance in your jurisdiction.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.