使用说明
Binance MCP Server
模型上下文协议(MCP)服务器,提供对Binance公共Spot API的访问,使LLM能够获取实时加密货币市场数据、交易对信息和交易所统计数据。
特性
🎯 核心能力
- 实时价格数据:获取任何交易对的当前价格和24小时统计数据
- 市场发现:按资产或关键字搜索和探索可用的交易对
- 订单簿分析:使用买卖数据分析市场深度
- 历史数据:检索烛台/OHLC数据以进行技术分析
- 贸易流量:查看最近的交易和市场活动
- 交流信息:访问交易规则、利率限制和交易品种详细信息
🔧 可用工具
- binance_get-ticker -获取当前价格和24小时统计数据
- 二进制搜索符号 -按资产或关键字查找交易对
- binance_get_order_book -获取订单深度(出价/要价)
- binance_getklines -获取烛台/OHLC数据以绘制图表
- binance_get_recent_trades -查看最近执行的交易
- binance_get_sexchange_info -获取全面的交易信息
- binance_get_price -快速价格查询(轻量级)
- binance_get_best_price -获得最佳出价/要价
✨ 主要特点
- 不要求进行验证:所有终结点都使用公共API(不需要API密钥)
- 双响应格式:人类可读的Markdown和机器可读的JSON
- 智能截断:在有用的指导下自动处理大型回复
- 可操作错误:清除错误消息,指导用户正确使用
- 了解费率限制:尊重币安API费率限制并提供指导
安装
先决条件
- Python 3.10或更高版本
- pip(Python包管理器)
设置
-
克隆或下载此存储库
-
安装依赖项:
pip install -r requirements.txt -
验证安装:
python -m py_compile binance_mcp.py
用法
使用克劳德桌面
将此添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"binance": {
"command": "python",
"args": ["/absolute/path/to/binance_mcp.py"]
}
}
}
替换 /absolute/path/to/binance_mcp.py 带有文件的实际路径。
测试
您可以使用MCP检查器或直接调用工具来测试服务器:
# Example: Get current Bitcoin price
binance_get_price(symbols=["BTCUSDT"])
# Example: Search for all BTC trading pairs
binance_search_symbols(base_asset="BTC")
# Example: Get 24hr statistics
binance_get_ticker(symbols=["BTCUSDT", "ETHUSDT"])
# Example: Get hourly candlestick data
binance_get_klines(symbol="BTCUSDT", interval="1h", limit=24)
工具详细信息
binance_get-ticker
获取当前价格和24小时交易统计数据。
参数:
symbols:交易对符号列表(必填)type:“满”或“迷你”(默认值:“全”)response_format:“markdown”或“json”(默认值:“markdown”)
示例:
binance_get_ticker(symbols=["BTCUSDT", "ETHUSDT"], type="FULL")
退货:当前价格、24小时变化率、高/低、交易量、买卖等。
二进制搜索符号
通过筛选基础资产、报价资产或关键字来查找交易对。
参数:
base_asset:基础货币过滤器(例如“BTC”)quote_asset:报价货币过滤器(例如“USDT”)search_term:在符号名称中搜索的关键字status:“交易”或“全部”(默认为“交易”)response_format:“markdown”或“json”(默认值:“markdown”)
示例:
# Find all BTC pairs
binance_search_symbols(base_asset="BTC")
# Find all USDT pairs
binance_search_symbols(quote_asset="USDT")
# Find specific pair
binance_search_symbols(base_asset="BTC", quote_asset="USDT")
# Search by keyword
binance_search_symbols(search_term="DOGE")
退货:具有状态和特征的匹配交易对列表。
binance_get_order_book
获取订单深度,显示出价和要价。
参数:
symbol:交易对符号(必填)limit:深度级别-5、10、20、50、100、500、1000或5000(默认值:100)response_format:“markdown”或“json”(默认值:“markdown”)
示例:
binance_get_order_book(symbol="BTCUSDT", limit=20)
退货:包含价格、数量和价差分析的订单簿。
binance_getklines
获取烛台/OHLC数据以进行技术分析。
参数:
symbol:交易对符号(必填)interval:时间间隔(必填)-“1m”、“5m”、“15mm”、“30m”、“1h”、“4h”、“1d”、“1w”、“1m”limit:蜡烛数(默认值:100,最大值:1000)start_time:可选的开始时间戳(毫秒)end_time:可选结束时间戳(毫秒)response_format:“markdown”或“json”(默认值:“markdown”)
示例:
# Last 24 hours of hourly data
binance_get_klines(symbol="BTCUSDT", interval="1h", limit=24)
# Last 30 days of daily data
binance_get_klines(symbol="ETHUSDT", interval="1d", limit=30)
# Last year of weekly data
binance_get_klines(symbol="BNBUSDT", interval="1w", limit=52)
退货:OHLC数据,包括交易量、交易计数和变化百分比。
binance_get_recent_trades
获取某个交易品种的最近执行交易。
参数:
symbol:交易对符号(必填)limit:交易次数(默认值:100,最大值:1000)response_format:“markdown”或“json”(默认值:“markdown”)
示例:
binance_get_recent_trades(symbol="BTCUSDT", limit=50)
退货:最近的交易,包括价格、数量、时间和买卖双方。
binance_get_sexchange_info
获取全面的交易信息和交易规则。
参数:
symbols:特定符号的可选列表response_format:“markdown”或“json”(默认值:“markdown”)
示例:
# Get info for specific symbols
binance_get_exchange_info(symbols=["BTCUSDT", "ETHUSDT"])
# Get info for all symbols (large response)
binance_get_exchange_info()
退货:交易所时区、汇率限制、交易规则、交易品种详细信息。
binance_get_price
仅获取最新价格(轻量级,快速查询)。
参数:
symbols:交易对符号列表(必填)response_format:“markdown”或“json”(默认值:“markdown”)
示例:
binance_get_price(symbols=["BTCUSDT", "ETHUSDT", "BNBUSDT"])
退货:每个符号的当前价格。
binance_get_best_price
从订单簿中获取最佳买卖价格。
参数:
symbols:交易对符号列表(必填)response_format:“markdown”或“json”(默认值:“markdown”)
示例:
binance_get_best_price(symbols=["BTCUSDT"])
退货:包含数量和价差分析的最佳买卖价格。
常见用例
1.查看当前加密货币价格
# Simple price check
binance_get_price(symbols=["BTCUSDT", "ETHUSDT"])
# Detailed 24hr statistics
binance_get_ticker(symbols=["BTCUSDT", "ETHUSDT"])
2.查找交易对
# Find all Bitcoin pairs
binance_search_symbols(base_asset="BTC")
# Find all USDT pairs
binance_search_symbols(quote_asset="USDT")
# Search for specific coins
binance_search_symbols(search_term="DOGE")
3.技术分析
# Get hourly data for last 24 hours
binance_get_klines(symbol="BTCUSDT", interval="1h", limit=24)
# Get daily data for last 30 days
binance_get_klines(symbol="BTCUSDT", interval="1d", limit=30)
4.市场深度分析
# Check order book depth
binance_get_order_book(symbol="BTCUSDT", limit=100)
# Get best bid/ask
binance_get_best_price(symbols=["BTCUSDT"])
5.监控市场活动
# View recent trades
binance_get_recent_trades(symbol="BTCUSDT", limit=100)
错误处理
服务器提供可操作的错误消息:
无效符号
Error: Symbol 'BTCUSD' not found on Binance.
Did you mean: BTCUSDT, BTCBUSD, BTCUSDC?
To find valid trading pairs, use the 'binance_search_symbols' tool:
- Search by base asset: binance_search_symbols(base_asset="BTC")
- Search by quote asset: binance_search_symbols(quote_asset="USDT")
速率限制
Error: Rate limit exceeded (HTTP 429)
Binance rate limit: 6000 request weight per minute
Action: Wait 60 seconds before making more requests.
Tip: Use multiple symbols in one request instead of separate requests.
响应太大
Response truncated: Showing 50 of 200 symbols
The full response exceeds the 25,000 character limit.
To get more specific results:
- Filter by asset: binance_search_symbols(base_asset="BTC")
- Request fewer symbols: binance_get_ticker(symbols=["BTCUSDT", "ETHUSDT"])
速率限制
币安API费率限制:
- 请求重量:每分钟6000
- 原始请求:每5分钟61000
服务器尊重这些限制,并在接近限制时提供指导。
响应格式
Markdown(默认)
人类可读格式,包括:
- 标题和章节
- 结构化数据表
- 视觉指示器表情符号
- 人类可读的时间戳
- 带货币符号的格式化数字
JSON
机器可读格式,包括:
- 完整的现场数据
- 结构一致
- 数字时间戳
- 包含所有元数据
技术细节
建筑
- 语言:Python 3.10+
- 框架:FastMCP(MCP Python SDK)
- HTTP客户端:httpx(异步)
- 验证:Pydantic v2
- 运输标准: stdio
API端点
- 基本URL:
https://data-api.binance.vision - 公共API:不需要身份验证
字符限制
- 最大响应长度:25000个字符
- 超过时自动截断并引导
故障排除
服务器无法启动
- 检查Python版本:
python --version(必须为3.10+) - 验证依赖关系:
pip list | grep -E "fastmcp|httpx|pydantic" - 测试语法:
python -m py_compile binance_mcp.py
连接错误
- 检查互联网连接
- 验证Binance API是否可访问:
curl https://api.binance.com/api/v3/ping
未找到符号
- 使用
binance_search_symbols查找有效的交易对 - 确保符号格式正确(例如,“BTCUSDT”而不是“BTC-USDT”)
贡献
欢迎提出建议和改进!此MCP服务器遵循以下MCP最佳实践:
- 带有服务前缀的工具命名
- 全面的文件
- 可操作的错误消息
- 响应格式灵活性
- 带引导的智能截断
许可证
MIT许可证-可根据需要自由使用和修改。
资源
版本历史
v1.0.0(初始版本)
- Binance Spot API的8个综合工具
- 公共API端点(无身份验证)
- 双响应格式(Markdown/JSON)
- 智能截断和错误处理
- 完整的文件
交易愉快! 🚀📈