使用说明

项目简介

Binance MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它充当 LLM 客户端和币安加密货币交易所之间的桥梁。该服务器的主要目的是使 LLM 能够以标准化的方式访问币安的市场数据,例如实时价格、订单簿、历史价格等。通过注册为 MCP 服务器,它可以无缝集成到任何兼容 MCP 协议的 LLM 应用中,为 LLM 提供强大的金融市场数据工具。

主要功能点

  • 实时价格数据: 获取币安交易所任意交易对的最新价格。
  • 订单簿访问: 检索指定交易对的订单簿快照,了解买单和卖单的分布情况。
  • 历史价格数据: 获取 OHLCV(开盘价、最高价、最低价、收盘价、成交量)K线数据,支持多种时间周期。
  • 交易所信息: 访问币安交易所的交易规则、交易对信息、手续费结构等元数据。
  • 只读操作: 所有数据均通过币安公开 REST API 获取,无需 API 密钥,保证数据安全性。
  • MCP 标准兼容: 遵循 MCP 协议标准,可与任何 MCP 兼容的 LLM 客户端协同工作。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/tienan92it/binance-mcp.git
    cd binance-mcp
  2. 安装依赖: 确保已安装 Python 3.8+,然后运行以下命令安装项目依赖:

    pip install -r requirements.txt

    该命令会自动安装 'mcp' 库(包含 CLI 工具)和 'requests' 库。

服务器配置

对于 MCP 客户端(例如 Claude Desktop),你需要配置连接到 Binance MCP Server 的信息。以下是配置示例(JSON 格式):

{
  "serverName": "BinanceMarketData",
  "command": "python",
  "args": [
    "run_server.py"
  ],
  "transport": "stdio",
  "capabilities": [
    "tools"
  ]
}

配置参数说明:

  • 'serverName': 服务器名称,这里设置为 "BinanceMarketData" (仓库中 'FastMCP' 实例化的名称).
  • 'command': 启动服务器的命令,这里使用 'python' 解释器.
  • 'args': 传递给启动命令的参数,这里指定运行 'run_server.py' 脚本.
  • 'transport': MCP 客户端与服务器的通信方式,这里使用 'stdio' (标准输入输出).
  • 'capabilities': 声明服务器提供的能力,这里声明支持 'tools' (工具) 功能.

注意: 请将以上 JSON 配置粘贴到 MCP 客户端 (如 Claude Desktop) 的服务器配置中。具体的配置位置和方法请参考 MCP 客户端的文档。

基本使用方法

  1. 启动服务器: 在仓库根目录下,运行以下命令启动 Binance MCP Server:

    python run_server.py

    服务器默认通过 STDIO 监听连接。

  2. 在 MCP 客户端中使用: 在配置好服务器信息后,你可以在 MCP 客户端中像调用本地函数一样使用 Binance MCP Server 提供的工具。例如,在 Claude Desktop 中,你可以直接提问类似 "获取 BTCUSDT 的当前价格" 或 "查询 ETHUSDT 的订单簿深度为 5" 的问题,LLM 客户端会自动调用服务器提供的工具获取数据并返回结果。

  3. 通过示例客户端测试: 仓库提供了一个示例客户端脚本 'example_client.py',你可以运行它来测试服务器的功能:

    python example_client.py

    该脚本演示了如何连接到服务器并调用不同的工具来获取市场数据。

可用工具概览

  • 'get_price(symbol)': 获取指定交易对的当前价格。例如:'get_price(symbol="BTCUSDT")'
  • 'get_order_book(symbol, depth)': 获取指定交易对的订单簿。例如:'get_order_book(symbol="ETHUSDT", depth=5)'
  • 'get_historical_prices(symbol, interval, limit)': 获取指定交易对的历史价格数据。例如:'get_historical_prices(symbol="BTCUSDT", interval="1h", limit=24)',支持的时间周期包括 "1m", "3m", "5m", "15m", "30m", "1h", "2h", "4h", "6h", "8h", "12h", "1d", "3d", "1w", "1M"。
  • 'get_exchange_info()': 获取币安交易所的综合信息,包括交易规则和交易对列表。
  • 'get_trading_fees()': 获取默认的交易手续费率。

信息

分类

网页与API