Binance MCP服务器

一个基于REST-to-MCP适配器框架的Binance Spot API服务器,支持市场数据查询、账户管理和交易操作。

  • by pawneetdev
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 pawneetdev/binance-mcp

使用说明

币安MCP服务器

用于Binance Spot API的模型上下文协议(MCP)服务器,使用REST-to-MCP适配器框架构建。该服务器使Claude Desktop能够直接与Binance的交易平台交互,用于市场数据、账户管理和交易操作。

特性

  • 全面访问Binance Spot API端点
  • HMAC-SHA256对私有端点的身份验证请求
  • 自动签名生成和时间戳处理
  • 支持公共端点和经过身份验证的端点
  • 基于环境的凭证管理

先决条件

  • Python 3.8+
  • 币安API证书(API密钥和机密)
  • rest-to-mcp适配器包
  • Claude桌面(用于集成)

安装

  1. 克隆存储库并导航到项目目录:
cd binance-mcp
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. 安装依赖项:
pip install python-dotenv
  1. 设置您的Binance API凭据:

在项目根目录中创建.env文件:

BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_api_secret_here

配置

测试服务器

在配置Claude Desktop之前,请测试服务器是否正常运行:

python run_server.py

您应该看到服务器启动时没有错误。请注意显示的绝对路径——您需要这些路径进行Claude配置。

配置Claude桌面

  1. 找到您的Claude Desktop配置文件:

    • macOS:~/库/应用程序支持/Claude/Claude_desktop_config json
    • Windows:%APPDATA%\Claude\Claude_desktop_config.json
  2. 添加币安MCP服务器配置:

{
  "mcpServers": {
    "binance-api": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/run_server.py"]
    }
  }
}

将/aolute/path/to/替换为系统中的实际绝对路径。

  1. 重新启动Claude Desktop以激活集成。

用法

配置后,您可以使用Claude Desktop与币安进行交互。示例查询:

  • “目前BTC/USDT的价格是多少?”
  • “显示我的账户余额”
  • “获取ETH/USDT的订单簿”
  • “以50000 USDT的价格下达0.01 BTC的限价买入订单”

如果找不到凭据,服务器将以NoAuth模式启动,该模式只允许访问公共Binance端点(市场数据、股票信息等)。

项目结构

binance-mcp/
  binance_auth.py              - Binance HMAC-SHA256 authentication handler
  run_server.py                - Main MCP server entry point
  binance_spot_toolkit.json    - MCP tool definitions
  binance_spot_endpoints.json  - Canonical endpoint configurations
  .env                         - Environment variables (not committed)
  README.md                    - This file

认证

服务器使用币安的HMAC-SHA256签名身份验证:

  1. API密钥:在X-MBX-APIKEY标头中发送
  2. 时间戳:自动添加到请求中(当前时间以毫秒为单位)
  3. 签名:查询字符串的HMAC-SHA256哈希,使用您的API机密生成

所有身份验证都由binance_auth.py中的BinanceAuth类自动处理。

安全说明

  • 永远不要提交.env文件或公开API凭据
  • 在您的币安账户设置中使用API密钥限制
  • 将API密钥权限限制为仅需要的权限(例如,禁用提款)
  • 考虑使用IP白名单以提高安全性
  • 安全地存储配置文件
  • 定期旋转API键

运作原理

  1. 工具注册表:从binance_spot_toolkit.json加载MCP工具定义
  2. 端点:从binance_spot_Endpoints.json加载规范端点配置
  3. 身份验证:初始化BinanceAuth(使用凭据)或NoAuth(仅限公共)
  4. 执行:使用APIExecutor向以下对象发出经过身份验证的请求https://api.binance.com
  5. 服务器:运行MCP服务器,通过JSON-RPC向LLM和代理公开工具
  6. 通信:Claude Desktop通过stdio与服务器通信

故障排除

  • 如果Claude无法识别服务器,请检查Claude_desktop_config.json中的路径是否为绝对路径
  • 在.env文件或配置中验证API凭据是否正确
  • 检查Claude Desktop日志中的连接错误
  • 确保在测试时激活虚拟环境
  • 对于身份验证错误,请验证您的API密钥是否具有所需的权限

币安API文档

有关Binance Spot API的更多信息:

  • Binance API文档:https://binance-docs.github.io/apidocs/spot/en/
  • API密钥设置:https://www.binance.com/en/support/faq/how-to-create-api-360002502072
  • 安全最佳实践:https://www.binance.com/en/support/faq/how-to-keep-your-account-secure-360002934791

许可证

麻省理工学院许可证-版权所有(c)2025 Pawneet Singh

请参阅 许可证 文件以获取完整的许可证文本。

此项目使用REST到MCP适配器框架。有关条款和条件,请参阅适配器的许可证。

本项目使用DataForSEO API。确保您拥有适当的API证书,并遵守DataForSEO的服务条款。