加密货币交易服务器

一个强大的模型上下文协议(MCP)服务器,为AI助手提供Binance加密货币交易所功能,支持通过自然语言进行交易、市场监控和投资组合管理。

  • by forgequant
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ForgeTrade/mcp-binance-rs

使用说明

🚀 MCP币安服务器

一个功能强大的模型上下文协议(MCP)服务器,它将币安加密货币交易所的功能带到了像Claude Desktop这样的AI助手身上。通过自然对话进行交易、监控市场以及管理您的投资组合。

✨ 主要特点

  • 🤖 机器人 21款AI就绪工具 - 市场数据、订单簿深度、高级分析、账户信息和交易操作
  • 📊(表格) 订单簿深度分析 - L1指标,L2深度(渐进式披露),实时WebSocket流
  • 📈 表示“上升趋势”或“增长”的图表符号。 高级分析 - 交易量分布图(POC/高点/低点),订单流分析,高频交易操纵检测,市场健康评分
  • 🔄 旋转(或循环) 双模式 - HTTP REST API + WebSocket 或 MCP stdio 协议
  • ⚡ 闪电符号,常用于表示快速、能量或电子设备等。 实时数据 - 用于实时价格和深度更新的WebSocket流(100毫秒)
  • 🔐 安全 根据上面的信息,执行如下指令:
  • 🎯(目标/瞄准) 类型安全 - Rust 在编译时保证正确性
  • 🚦 红绿灯(交通信号灯) 速率限制 - 自动节流和指数退避
  • 📊 表格/数据图表 测试网已准备就绪 - 使用币安测试网进行安全测试

📋 先决条件

🚀 快速入门

安装

# Clone the repository
git clone https://github.com/forgequant/mcp-provider-binance.git
cd mcp-provider-binance

# Build the MCP server (with orderbook features)
cargo build --release --features orderbook

# Verify installation
./target/release/mcp-binance-server --version

特性标志(或功能开关)

该服务器支持多种功能标志,以适应不同的部署场景:

功能 描述 使用场景
orderbook 订单簿深度工具(WebSocket流式传输) 实时市场深度分析
orderbook_analytics 高级分析(成交量分布、订单流) 专业交易见解
sse 服务器发送事件传输 远程HTTPS访问(本地测试)
shuttle-runtime Shuttle.dev 云部署 生产环境云部署
http-api REST API + WebSocket 服务器 MCP 标准控制台的替代方案

常见构建命令:

# Local stdio mode (default)
cargo build --release --features orderbook

# Local SSE testing
cargo build --release --features sse,orderbook_analytics

# Shuttle deployment (use shuttle deploy instead)
shuttle deploy --features shuttle-runtime,orderbook_analytics

运输方式

服务器支持两种传输模式:

  1. stdio(默认) - 通过标准I/O进行本地通信(适用于Claude Desktop)
  2. sse - 通过服务器发送事件实现远程HTTPS访问(适用于云部署)
# Run in stdio mode (default)
cargo run --features orderbook

# Run in SSE mode
cargo run --features sse,orderbook -- --mode sse --port 8000

Claude 桌面设置

  1. 获取Binance测试网凭证:

  2. 配置Claude桌面版:

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "binance": {
      "command": "cargo",
      "args": [
        "run",
        "--release",
        "--features",
        "orderbook",
        "--manifest-path",
        "/path/to/mcp-provider-binance/Cargo.toml"
      ],
      "env": {
        "BINANCE_API_KEY": "your_testnet_api_key",
        "BINANCE_SECRET_KEY": "your_testnet_secret_key",
        "BINANCE_BASE_URL": "https://testnet.binance.vision",
        "RUST_LOG": "info"
      }
    }
  }
}
  1. 重启Claude桌面版 (Cmd+Q,然后重新打开)

  2. 验证连接:

    • 在Claude桌面版中寻找🔌图标
    • 点击它查看“币安”服务器
    • 尝试: “比特币的当前价格是多少?”

☁️ 云部署(Shuttle.dev)

将MCP服务器部署到Shuttle.dev,以便从任何地方进行远程HTTPS访问。

先决条件

部署步骤

# 1. Login to Shuttle
shuttle login

# 2. Deploy with SSE transport (creates HTTPS endpoint automatically)
shuttle deploy --features shuttle-runtime,orderbook_analytics

# 3. Configure secrets (Binance API credentials)
shuttle secrets add BINANCE_API_KEY=your_testnet_api_key
shuttle secrets add BINANCE_API_SECRET=your_testnet_secret_key

# 4. Get deployment URL
shuttle status
# Returns: https://mcp-provider-binance.shuttleapp.rs

# 5. View logs
shuttle logs

Claude 桌面远程配置

{
  "mcpServers": {
    "binance-cloud": {
      "url": "https://mcp-provider-binance.shuttleapp.rs/mcp/sse",
      "transport": "sse"
    }
  }
}

本地SSE测试

在部署前先在本地测试SSE传输:

# Start SSE server on localhost
cargo run --features sse,orderbook_analytics -- --mode sse --port 8000

# Test health endpoint
curl http://localhost:8000/health

# Test SSE handshake
curl -H "Accept: text/event-stream" -i http://localhost:8000/mcp/sse

🛠️ 可用工具

📊 市场数据工具

get_server_time

获取当前币安服务器时间以进行同步。

示例: “检查币安服务器时间”

Response: {
  "serverTime": 1699564800000,
  "offset": -125
}

get_ticker

获取任意交易对的24小时价格统计。

参数:

  • symbol - 交易对(例如,“BTCUSDT”,“ETHUSDT”)

示例: “比特币的24小时价格变化是多少?”

Response: {
  "symbol": "BTCUSDT",
  "priceChange": "1234.56",
  "priceChangePercent": "2.5",
  "lastPrice": "50000.00",
  "volume": "12345.67",
  "highPrice": "51000.00",
  "lowPrice": "49000.00"
}

get_order_book

获取当前包含买单和卖单的订单簿。

参数:

  • symbol - 交易对
  • limit - 深度(5、10、20、50、100、500、1000、5000),默认值:100

示例: “给我看看ETHUSDT的订单簿,显示前10档”

Response: {
  "bids": [["3000.00", "10.5"], ["2999.50", "5.2"]],
  "asks": [["3001.00", "8.3"], ["3001.50", "12.1"]]
}

get_recent_trades

获取某个股票的最新公开交易信息。

参数:

  • symbol - 交易对
  • limit - 交易数量(默认:500,最大:1000)

示例: “显示BTCUSDT最近的10笔交易”

get_klines

获取蜡烛图/OHLCV数据以进行技术分析。

参数:

  • symbol - 交易对
  • interval - 时间周期:1分钟,3分钟,5分钟,15分钟,30分钟,1小时,2小时,4小时,6小时,8小时,12小时,1天,3天,1周,1个月
  • limit - K线数量(默认:500,最大:1000)

示例: “获取比特币的每小时K线数据”

get_average_price

获取当前平均价格(比使用行情板更简单)。

参数:

  • symbol - 交易对

示例: “以太坊的平均价格是多少?”

📊 深度订单簿工具

get_orderbook_metrics

获取包含点差、中间价和流动性分析的L1市场指标。

参数:

  • symbol - 交易对(例如,“BTCUSDT”,“ETHUSDT”)

特点/特性:

  • 紧凑格式与完整订单簿相比,使用了约15%的代币
  • 实时数据带有100毫秒更新的WebSocket流
  • 综合指标点差、中间价、流动性深度、墙检测

示例: “给我显示BTCUSDT的订单簿指标”

Response: {
  "symbol": "BTCUSDT",
  "timestamp": 1699564800123,
  "spread_bps": 0.15,
  "mid_price": "67650.50",
  "bid_liquidity_10bps": "123.45",
  "ask_liquidity_10bps": "98.76",
  "walls": {
    "bids": [{"price": "67500.00", "qty": "50.0"}],
    "asks": []
  }
}

get_orderbook_depth

获取可配置级别的L2订单簿深度(渐进式披露)。

参数:

  • symbol - 交易对
  • levels - 层数(20层或100层)
    • 20个关卡 (L2-lite):使用约50%的标记,优化用于快速分析
    • 100个关卡 (L2-full): 使用100%的代币,全面的市场深度

特点/功能:

  • 紧凑整数编码比字符串十进制表示的JSON小40%
  • 实时更新具有100毫秒延迟的WebSocket流
  • 逐步披露初始设置为20级,如有需要可升级至100级

示例: “获取ETHUSDT交易对的20档深度订单簿”

Response: {
  "symbol": "ETHUSDT",
  "timestamp": 1699564800123,
  "price_scale": 100,
  "qty_scale": 100000,
  "bids": [
    [308500, 1050000],  // $3085.00, 10.5 ETH
    [308450, 520000]    // $3084.50, 5.2 ETH
  ],
  "asks": [
    [308600, 830000],   // $3086.00, 8.3 ETH
    [308650, 1210000]   // $3086.50, 12.1 ETH
  ]
}

解码:

  • price = scaled_price / price_scale (例如,308500 / 100 = 3085.00美元)
  • quantity = scaled_qty / qty_scale (例如,1050000 / 100000 = 10.5)

get_orderbook_health

检查WebSocket连接的健康状况和数据的新鲜度。

参数无

状态值:

  • ok - 所有订单簿连接状态良好
  • degraded - 部分连接存在问题
  • error - 检测到严重故障

示例: “检查订单簿服务健康状况”

Response: {
  "status": "ok",
  "orderbook_symbols_active": 3,
  "last_update_age_ms": 127,
  "websocket_connected": true,
  "reason": null
}

📈 高级分析工具

需要: orderbook_analytics 功能标志(或特性开关)

这些工具为专业交易者提供机构级别的市场微观结构分析。

get_order_flow

分析订单流动态,以识别买入/卖出压力及聪明资金的活动。

参数:

  • symbol - 交易对(例如,“BTCUSDT”)
  • window_duration_secs - 分析窗口时间(秒)(可选,默认值:60)

输出:

  • 买入/卖出成交量“Aggressor”交易量对比(或:与“Aggressor”并列的交易量)
  • 不平衡率0.0(全部卖出)到1.0(全部买入)
  • 净压力累计买入压力减去卖出压力
  • 交易次数市场订单频率分析

用例:

  • 检测机构积累/分布情况
  • 通过流量分歧识别趋势反转
  • 在强烈方向性压力下的时间记录

示例: “分析过去2分钟内BTCUSDT的订单流”

get_volume_profile

生成成交量分布直方图以识别高成交量的价格节点(支撑位/阻力位)。

参数:

  • symbol - 交易对
  • duration_hours - 回溯小时数(可选,默认:24)
  • tick_size - 价格区间增量(例如,BTCUSDT的“0.01”)

输出:

  • **POC(控制点)**交易量最大的价格水平
  • **VAH(价值区间高点)**体积浓度70%的上限
  • **VAL(Value Area Low,价值区域低点)**体积浓度70%的下限
  • 直方图各价位水平的成交量分布

用例:

  • 从成交量节点识别关键支撑/阻力位
  • 在VAH/VAL边界设定目标
  • 均值回归时,衰减值超出价值范围

示例: “为ETHUSDT生成24小时成交量分布图,刻度值设为0.1”

detect_market_anomalies

检测高频交易(HFT)操纵模式及系统性风险指标。

参数:

  • symbol - 交易对
  • window_duration_secs - 分析窗口(可选,默认:60)

检测到的模式:

  1. “Quote Stuffing”可以翻译为“报价塞入”或“信息洪流中的报价塞入”,在金融领域,这通常指的是在短时间内大量发送或修改报价信息,以影响市场或干扰交易的行为。这种行为可能被视为市场操纵或不公平交易的一种手段>500笔订单更新/秒,填充率<10%(高频交易延迟攻击)
  2. 冰山订单隐藏的机构订单,其补充频率超过中位数的5倍
  3. 闪崩风险>80%的流动性损失 + >10倍的利差扩大 + >90%的取消率

输出:

  • 异常类型,严重程度(低/中/高/严重)
  • 置信度评分(0.0-1.0)
  • 可采取的建议(延迟执行、扩大止损、停止交易)

用例:

  • 避免在高频交易(HFT)操作窗口期间进入
  • 检测潜在的机构订单(冰山)以寻找交汇点
  • 在闪电崩盘情况出现之前退出仓位

示例: “检查BTCUSDT市场的异常情况”

get_liquidity_vacuums

识别流动性较低且易导致价格快速发现(滑点风险)的价格区间。

参数:

  • symbol - 交易对
  • window_duration_secs - 分析窗口(可选,默认值:300)
  • threshold_percentile - 检测灵敏度(可选,默认值:25,范围:1-50)

输出结果:

  • 真空区价格区间与异常低的交易量
  • 严重程度严重(完全避免)/ 高(减小规模)/ 中(设定限制)
  • 建议止损设置指南

用例:

  • 避免在无交易量区域设置止损(容易被触发)
  • 预计将在低流动性区域快速移动
  • 在接近真空环境时,尺寸位置会变小

示例: “在SOL/USDT中寻找流动性真空”

get_microstructure_health

根据四个微观结构要素计算综合市场健康得分(0-100)。

参数:

  • symbol - 交易对
  • window_duration_secs - 分析窗口(可选,默认值:300)

组件 (加权):

  • 展布稳定性 (25%):买卖价差波动性
  • 流动性深度 (35%): 各价位的订单簿厚度
  • 流量平衡 (25%):买/卖盘流量均衡
  • 更新率 (15%):市场活跃度

评分等级:

  • **80-100(优秀)**在正常仓位规模下大胆交易是安全的
  • **60-79(良好)**正常条件,标准风险管理
  • **40-59(一般)**谨慎行事,设置更紧的止损,减少仓位规模
  • **20-39(差)**将仓位减少50%,扩大止损范围
  • **0-19(严重)**停止新交易,退出或对冲现有头寸

用例:

  • 在进入大额仓位前进行交易前风险评估
  • 根据市场条件动态调整仓位大小
  • 流动性恶化预警系统

示例: “检查BTCUSDT市场的健康状况”

👤 账户工具

get_account_info

获取您的账户信息、余额和权限。

需要API凭证

示例: “显示我的账户余额”

Response: {
  "balances": [
    {"asset": "BTC", "free": "0.5", "locked": "0.0"},
    {"asset": "USDT", "free": "10000.00", "locked": "500.00"}
  ],
  "canTrade": true,
  "canWithdraw": false,
  "canDeposit": false
}

get_account_trades

获取某个交易标的的个人交易历史。

参数:

  • symbol - 交易对
  • limit - 交易数量(默认:500,最大:1000)

需要API凭据

示例: “显示我最近20笔BTCUSDT交易”

📝 订单管理工具

place_order

创建一个新的交易订单(买入/卖出,限价/市价)。

⚠️(警告符号,无具体文字含义,可理解为“注意”或“警告”等意思) 仅限测试网使用! 始终使用测试网凭证。

参数:

  • symbol - 交易对
  • side -“买入”或“卖出”
  • type -“限价”或“市价”
  • quantity - 交易数量(例如,“0.001”)
  • price - 限价订单的价格(市价订单可选)

需要API凭据

示例: “以50000 USDT的价格下限价买单,购买0.001 BTC”

Response: {
  "orderId": 12345,
  "symbol": "BTCUSDT",
  "status": "NEW",
  "side": "BUY",
  "type": "LIMIT",
  "price": "50000.00",
  "origQty": "0.001"
}

get_order

查询特定订单的状态。

参数:

  • symbol - 交易对
  • order_id - 要查询的订单ID

需要API凭证

示例: “检查订单12345的BTCUSDT状态”

cancel_order

取消一个有效订单。

参数:

  • symbol - 交易对
  • order_id - 要取消的订单ID

需要API凭证

示例: “取消订单12345”

get_open_orders

列出所有当前有效的订单。

参数:

  • symbol - 交易对(可选,省略时返回所有)

需要API凭证

示例: “显示我的所有未结订单”

get_all_orders

获取完整的订单历史记录(包括有效、已取消、已成交)。

参数:

  • symbol - 交易对
  • limit - 订单数量(默认:500,最大:1000)

需要API凭证

示例: “显示我在ETHUSDT上的最近50笔订单”

💬 示例对话

基本市场数据

You: "What's the current Bitcoin price?"
Claude: [Uses get_ticker] "Bitcoin is currently trading at $50,234.56..."

You: "Show me the order book depth for ETHUSDT"
Claude: [Uses get_order_book] "Here's the ETHUSDT order book..."

订单簿分析

You: "Show me orderbook metrics for BTCUSDT"
Claude: [Uses get_orderbook_metrics] "BTCUSDT orderbook metrics:
- Spread: 0.15 bps (tight spread, good liquidity)
- Mid Price: $67,650.50
- Bid liquidity within 10 bps: 123.45 BTC
- Ask liquidity within 10 bps: 98.76 BTC
- Large wall detected at $67,500 (50 BTC)"

You: "Get detailed depth with 20 levels"
Claude: [Uses get_orderbook_depth with levels=20] "Here's the L2 depth for BTCUSDT:
Top 3 bids: $67,650.00 (1.2 BTC), $67,649.50 (0.8 BTC), $67,649.00 (1.5 BTC)
Top 3 asks: $67,650.50 (0.9 BTC), $67,651.00 (1.1 BTC), $67,651.50 (0.7 BTC)"

You: "Is the orderbook service healthy?"
Claude: [Uses get_orderbook_health] "Orderbook service is healthy:
- Status: OK
- Active symbols: 3
- Last update: 127ms ago
- WebSocket: Connected"

账户与交易

You: "What's my account balance?"
Claude: [Uses get_account_info] "Your account has 0.5 BTC and 10,000 USDT..."

You: "Place a test buy order for 0.001 BTC at 49000"
Claude: [Uses place_order] "Order placed successfully! Order ID: 12345..."

You: "Show my open orders"
Claude: [Uses get_open_orders] "You have 3 open orders..."

🎯 提示支持

此服务器提供AI引导的提示,用于交易分析和风险评估:

trading_analysis

获取针对特定交易对的全面交易分析和建议。

参数:

  • symbol - 交易对(例如,“BTCUSDT”,“ETHUSDT”)
  • strategy - 可选:“激进”、“均衡”或“保守”
  • risk_tolerance - 可选:“低”、“中”或“高”

示例:

You: "Analyze BTCUSDT for aggressive trading"
Claude: [Uses trading_analysis prompt] "Based on current market data:
- Current Price: $50,234.56 (+2.5% in 24h)
- Volume: Strong upward momentum
- Recommendation: Consider entering long positions
- Risk Factors: High volatility, monitor support at $49,000"

portfolio_risk

根据当前账户余额和市场状况评估您的投资组合风险。

参数根据上面的信息,执行如下指令:你是个专业的翻译,负责把英语内容翻译成中文内容,请帮我翻译一下原文内容

需要API凭据

示例:

You: "Assess my portfolio risk"
Claude: [Uses portfolio_risk prompt] "Portfolio Risk Analysis:
- Total Balance: $15,234.56 (0.5 BTC + 10,000 USDT)
- Risk Level: Moderate
- BTC Exposure: 33%
- Recommendations: Diversify into stable assets..."

market_microstructure_analysis (高级)

深入探究市场微观结构,包括成交量分布、异常检测和健康评分。

需要: orderbook_analytics 特点;功能

参数:

  • symbol - 交易对(例如,“BTCUSDT”)
  • profile_hours - 体积分布回溯周期(可选,默认值:24)

提供:

  • 成交量分布分析(峰值点/最高价成交量/最低价成交量水平)
  • 市场异常检测(报价洪水、冰山单、闪崩风险)
  • 微观结构健康评分(0-100综合评分)
  • 可操作的交易建议

示例:

You: "Analyze BTCUSDT market microstructure"
Claude: [Uses market_microstructure_analysis prompt] "
# BTCUSDT Market Microstructure Analysis

## Volume Profile (Last 24h)
- POC: $67,850 (high-volume node, strong support)
- VAH: $68,200 (70% value area upper bound)
- VAL: $67,500 (70% value area lower bound)
- Current price vs POC: +0.3% (trading at fair value)

## Market Anomalies
⚠️ Quote Stuffing detected (High severity)
- Update rate: 750/sec (>500 threshold)
- Fill rate: 8% (<10% threshold)
- Action: Delay execution, widen spreads

## Market Health: 78.5 (Good)
- Spread stability: 85.2 (excellent)
- Liquidity depth: 92.1 (excellent)
- Flow balance: 68.3 (good)
- Update rate: 72.0 (good)

Recommendation: Normal trading conditions with caution around HFT activity windows."

order_flow_trading (高级)

基于订单流的交易信号,包含机构压力分析。

需要: orderbook_analytics 特性;特点;功能

参数:

  • symbol - 交易对
  • window_minutes - 流量分析时间窗口(分钟)(可选,默认:5)

提供:

  • 实时买卖压力分析
  • 失衡比率和净压力指标
  • 智能资金检测(大额订单流)
  • 进出信号建议

示例:

You: "Get order flow signals for ETHUSDT"
Claude: [Uses order_flow_trading prompt] "
# ETHUSDT Order Flow Analysis (Last 5 min)

## Flow Metrics
- Buy volume: 245.3 ETH
- Sell volume: 198.7 ETH
- Imbalance ratio: 0.552 (moderate bullish pressure)
- Net pressure: +46.6 ETH

## Signal: LONG BIAS ✅
- Aggressor buys dominating (55% of volume)
- Institutional accumulation detected (3 large buy orders)
- Recommendation: Look for entries on minor pullbacks
- Stop loss: Below recent swing low ($3,045)
- Target: VAH level ($3,086)"

liquidity_mapping (高级)

包含真空区域和边界识别的全面流动性格局。

需要: orderbook_analytics 特性;特点

参数:

  • symbol - 交易对
  • lookback_minutes - 历史分析窗口(可选,默认:30)

提供:

  • 流动性真空区域(低成交量价格缺口)
  • 大订单墙(买盘/卖盘支撑/阻力)
  • 最佳止损设置区域
  • 滑点风险评估

示例:

You: "Map liquidity for SOLUSDT"
Claude: [Uses liquidity_mapping prompt] "
# SOLUSDT Liquidity Map

## Liquidity Vacuums 🕳️
1. $145.50 - $148.20 (High severity)
   - Avg volume: 12.5 SOL (85% below median)
   - Risk: Rapid price discovery, avoid stops here

2. $142.00 - $143.50 (Medium severity)
   - Avg volume: 34.8 SOL (55% below median)

## Order Walls 🧱
- Bid wall: $144.00 (250 SOL) - Strong support
- Ask wall: $150.00 (310 SOL) - Resistance zone

## Stop Loss Guidance
- Safe zones: Below $143.80 or above $148.50 (outside vacuums)
- Risky zones: $145-$148 (vacuum zone, likely to get run)

Current price: $146.75 (inside vacuum - expect volatility)"

📦 资源支持

通过MCP资源访问实时市场数据和账户信息:

市场资源

  • binance://market/btcusdt - 实时BTCUSDT市场数据(价格、成交量、24小时统计)
  • binance://market/ethusdt - 实时ETH/USDT市场数据

返回以Markdown格式呈现的股票数据,包括当前价格、24小时变化、交易量以及最高/最低价格。

示例:

You: "Show me the BTCUSDT market resource"
Claude: [Reads binance://market/btcusdt] "# BTCUSDT Market Data
Current Price: $50,234.56
24h Change: +$1,234.56 (+2.5%)
Volume: 12,345.67 BTC
High: $51,000.00 | Low: $49,000.00"

账户资源

  • binance://account/balances - 您的往来账户余额(所有余额非零的资产)

需要API凭证

返回包含资产、可用余额、锁定余额和总计列的Markdown表格。

示例:

You: "Show my account balances resource"
Claude: [Reads binance://account/balances] "# Account Balances

| Asset | Free Balance | Locked Balance | Total |
|-------|--------------|----------------|-------|
| BTC   | 0.50000000   | 0.00000000     | 0.50000000 |
| USDT  | 10000.00     | 500.00         | 10500.00 |"

订单资源

  • binance://orders/open - 您当前的活跃订单

需要API凭证

返回包含订单ID、交易品种、买卖方向、订单类型、价格、数量和状态列的Markdown表格。

示例:

You: "Show my open orders resource"
Claude: [Reads binance://orders/open] "# Open Orders

| Order ID | Symbol  | Side | Type  | Price     | Quantity | Status |
|----------|---------|------|-------|-----------|----------|--------|
| 12345    | BTCUSDT | BUY  | LIMIT | 49000.00  | 0.001    | NEW    |"

⚠️ 增强的错误处理

服务器提供了详细的错误信息以及恢复建议:

错误代码 类别 描述 恢复操作
(无对应中文翻译,原表头) (无对应中文翻译,原表头) (无对应中文翻译,原表头) (无对应中文翻译,原表头)
请求速率限制 请求过多 等待 retry_after 秒后重试,降低频率 -32002
认证 无效/缺失API凭证 检查BINANCE_API_KEY和BINANCE_SECRET_KEY环境变量 -32003
验证 参数无效(符号、数量等) 检查参数格式和示例 -32004

**| 交易 | 余额不足或交易受限 | 检查账户余额和交易权限 |**示例错误响应

{
  "code": -32001,
  "message": "Rate limit exceeded. Please wait 60 seconds before retrying.",
  "data": {
    "retry_after_secs": 60,
    "current_weight": 1200,
    "weight_limit": 1200,
    "recovery_suggestion": "Reduce request frequency or wait for rate limit window to reset"
  }
}

:

  • **所有错误包括:**明确的信息
  • 人类可读的描述错误代码
  • 用于程序化处理的标准MCP错误代码恢复数据

解决该问题的具体措施(重试时机、缺失配置、格式示例)

🔧 高级用法

HTTP REST API 模式

# Build with HTTP + orderbook features
cargo build --release --features http-api,websocket,orderbook

# Configure
export HTTP_BEARER_TOKEN="your_secure_token"
export HTTP_HOST="0.0.0.0"
export HTTP_PORT="3000"
export BINANCE_API_KEY="your_key"
export BINANCE_SECRET_KEY="your_secret"

# Start server
./target/release/mcp-binance-server

作为支持 WebSocket 的独立 HTTP 服务器运行:

特性标志(或功能开关)

# Core features only (13 tools)
cargo build --release

# Add orderbook depth tools (16 tools)
cargo build --release --features orderbook

# Add advanced analytics tools (21 tools total = 16 + 5 analytics)
cargo build --release --features orderbook_analytics

# Add HTTP API + WebSocket
cargo build --release --features http-api,websocket

# All features
cargo build --release --features orderbook_analytics,http-api,websocket

**控制编译哪些功能:**REST API 端点 见 CLAUDE_DESKTOP_SETUP.md(可翻译为“CLAUDE桌面设置指南/说明文件”)

请帮我翻译一下原文内容为:用于完整的API文档。

环境变量 | 变量 | 必需 | 默认值 | 描述 | |----------|----------|---------|-------------| BINANCE_API_KEY | 对于认证 | - | Binance API密钥 | BINANCE_SECRET_KEY | | 用于认证 | - | Binance 秘密密钥 | BINANCE_BASE_URL | https://testnet.binance.vision | 编号 | 生产 | 使用 用于测试网 | RUST_LOG | info | 不 | | 日志级别:追踪(trace)、调试(debug)、信息(info)、警告(warn)、错误(error) | HTTP_BEARER_TOKEN | HTTP模式 | - | HTTP API的认证令牌 | HTTP_HOST | 127.0.0.1 | 编号 | | HTTP服务器绑定地址 | HTTP_PORT | 8080 | 不(No)|

| HTTP服务器端口 |

🐞 故障排除

  1. 工具未在Claude桌面版中显示检查配置路径 cargo 确保

    which cargo
    
  2. 在你的PATH环境变量中查看日志

    tail -f ~/Library/Logs/Claude/mcp-server-binance.log
    
  3. **:**验证构建

    cargo run --release
    # Should show: "Starting MCP Binance Server v0.1.0"
    
  4. **:**检查开发者控制台

Claude Desktop → 查看 → 开发者 → 切换开发者工具

“spawn cargo ENOENT” 错误

"command": "/path/to/.cargo/bin/cargo"

在配置中使用货物的完整路径:

或者将 cargo 添加到您的 PATH 中,然后重新启动 Claude Desktop。 {"tools":[]}

空的工具列表

git pull
cargo build --release

这是一个已经修复的错误!请确保您使用的是最新版本:

速率限制错误

  • 币安(Binance)设有速率限制。服务器会自动以指数退避的方式重试:
  • 如果达到限制,请等待1-2分钟
  • 检查日志中的“速率限制”消息

考虑降低请求频率

Large time offset detected: 6000ms. Consider syncing system clock.

时间偏移警告解决方案

# macOS
sudo sntp -sS time.apple.com

# Linux
sudo ntpdate -u pool.ntp.org

同步您的系统时钟:

🔒 安全最佳实践 **✅ 对号(表示正确、确认或同意)**做

  • :
  • 使用币安测试网进行开发和测试
  • 将API密钥存储在环境变量中
  • 为每个应用程序使用单独的API密钥
  • 在Binance上启用IP白名单(如果支持)

设置适当的API密钥权限(交易、读取) **❌(表示错误或禁止的符号)**不要

  • :
  • 将API密钥提交到Git
  • 使用生产密钥进行测试
  • 分享API密钥
  • 记录秘密密钥

禁用SSL/TLS验证

官方API参考

src/
├── server/         # MCP protocol implementation
│   ├── mod.rs      # BinanceServer struct
│   ├── handler.rs  # ServerHandler implementation
│   └── tool_router.rs  # Tool routing and implementations
├── binance/        # Binance API client
│   ├── client.rs   # HTTP client
│   └── types.rs    # API response types
├── config/         # Configuration management
├── error.rs        # Error handling
└── main.rs         # Entry point

🏗️ 建筑

# Run all tests
cargo test

# Run tests with orderbook features
cargo test --features orderbook

# Run integration tests
cargo test --test '*' --features orderbook

# Run performance tests
cargo test --features orderbook --release -- --nocapture test_l1_metrics_performance
cargo test --features orderbook --release -- --nocapture test_l2_depth_performance

# Run with logging
RUST_LOG=debug cargo test --features orderbook

# Test specific tool
cargo test test_get_ticker
cargo test test_orderbook_metrics --features orderbook

🧪 测试测试覆盖率

  • : 44项自动化测试
  • 对于订单簿功能(100%通过率)
  • 单元测试:OrderBook 类型、管理器、错误处理(23 个测试)
  • 集成测试:WebSocket重连、速率限制、指标(16项测试)

性能测试:L1指标(<200毫秒P95),L2深度(<300毫秒P95)(共5项测试)

🔧 故障排除

常见问题

SSE 连接错误问题 503 Service Unavailable :

当连接到SSE端点时解决方案

  • :
  • 服务器已达到50个并发连接限制 - 请等待其他连接关闭 shuttle logs 检查服务器日志:
  • (在云端)或检查终端输出(本地)

重启服务器以清除陈旧连接问题 404 Not Found : /mcp/message 开启

终端节点解决方案

  • :
  • 连接ID已过期或无效 /mcp/sse 通过(某种方式)重新建立连接
  • 握手 X-Connection-ID 检查

头部信息正在正确发送问题

连接在30秒后超时解决方案

  • :
  • SSE 会话在 30 秒无活动后自动超时
  • 实现客户端的保活ping功能

在需要时重新建立连接

航天飞机部署问题问题 secrets not found :

部署时出错解决方案

# Add required secrets
shuttle secrets add BINANCE_API_KEY=your_testnet_key
shuttle secrets add BINANCE_API_SECRET=your_testnet_secret

# Verify secrets are set
shuttle secrets list

**:**问题

部署构建失败解决方案

  • : rustc --version
  • 确保已安装 Rust 1.90 或更高版本: cargo clean
  • 清除缓存: shuttle deploy --features shuttle-runtime,orderbook_analytics

**重新部署:**问题 WARN: No API credentials configured

服务器返回解决方案

  • :
  • 如果未设置任何密钥,则这是预期的行为
  • 认证功能(交易、账户信息)将被禁用

市场数据工具在没有凭据的情况下仍能正常工作

速率限制问题 429 Too Many Requests :

来自币安API解决方案

  • :
  • 服务器内置了GCRA速率限制器(1000请求/分钟)
  • 等待60秒后重试

减少工具调用的频率问题

服务器队列在30秒后超时解决方案

  • :
  • 队列中并发请求过多
  • 减少查询中的并行性

等待之前的请求完成

构建错误问题 feature 'orderbook_analytics' requires feature 'orderbook'

**:**解决方案

# Always include base feature when using analytics
cargo build --features orderbook_analytics  # ❌ Wrong
cargo build --features orderbook,orderbook_analytics  # ✅ Correct

**:**问题

测试中出现的 RocksDB 锁竞争解决方案

# Run tests sequentially (orderbook_analytics uses shared RocksDB)
cargo test --features orderbook_analytics -- --test-threads=1

:

  • 寻求帮助GitHub Issues(GitHub问题) :
  • 报告错误或请求功能日志 RUST_LOG=debug 启用调试日志记录
  • 环境变量MCP协议 查看
  • 模型上下文协议文档穿梭支持 :

Shuttle.dev 的 Discord

部署检查清单

  • 在部署到生产环境之前:
  • [ ] 已获取Binance API凭证(测试时请使用TESTNET)shuttle login[ ] 已安装并认证 Shuttle CLI(
  • )shuttle secrets add BINANCE_API_KEY=...[ ] 配置的密钥(
  • )cargo run --features sse -- --mode sse[ ] 本地测试已完成(
  • )curl https://your-app.shuttleapp.rs/health[ ] 健康端点已验证 (
  • )curl -H "Accept: text/event-stream" https://your-app.shuttleapp.rs/mcp/sse[ ] 已测试SSE握手(
  • )
  • [ ] 配置了远程URL的Claude Desktopshuttle logs[ ] 部署后监控日志(

)

🤝 贡献 这个项目使用 SpecKit(注:这通常是一个特定领域或应用中的术语或产品名,直接翻译为“光谱工具包”或保持原样“SpecKit”均可,具体取决于上下文和使用场景)

  1. 用于规范驱动开发: 指定 /speckit.specify
  2. 使用(或利用)的功能/特性 计划 /speckit.plan
  3. 与……一起实施 生成 /speckit.tasks
  4. 与……相关的任务 实施 /speckit.implement

和;与;用;带着 见 DEVELOPMENT.md 翻译为中文是:“开发指南.md” 或 “开发文档.md”(具体翻译可能根据上下文有所调整,但“DEVELOPMENT”通常指的是“开发”或“开发指南”等意思,“.md”是Markdown文件格式的后缀)

详情见下。

📄 许可证 MIT 许可证 - 详见 许可证

文件中有详细信息。

- AI助手集成

  • 🔗 链接GitHub :
  • forgequant/mcp-provider-binance 翻译为中文是:forgequant/币安MCP提供者币安测试网 :
  • **testnet.binance.vision(测试网币安愿景)**MCP协议 :
  • modelcontextprotocol.io问题 :

GitHub Issues(在GitHub上的问题/议题) 用Rust和MCP用心打造 | 报告错误 |