项目简介

MCP币安交易服务器是一个基于Model Context Protocol (MCP) 构建的强大后端应用,旨在将币安加密货币交易所的丰富功能提供给大型语言模型(LLM)客户端,如Claude Desktop。它允许AI助手通过自然语言进行市场监控、交易操作和投资组合管理。

主要功能点

  • 16个AI就绪工具: 涵盖完整的市场数据(如实时价格、24小时统计、K线图、最近交易)、账户信息查询(如余额、交易历史)、订单管理(如创建、查询、取消订单)等。
  • 深度数据分析: 提供订单簿一级(L1)指标(如买卖价差、中价、流动性分析、价格墙检测)和二级(L2)深度数据(支持20或100个级别,采用紧凑整数编码以节省Token)。
  • 实时数据: 通过WebSocket流提供100毫秒更新的实时价格和深度数据。
  • 双重运行模式: 支持MCP标准的stdio协议,也支持作为独立的HTTP REST API服务器运行,并提供WebSocket数据流。
  • Prompt模板支持: 内置'trading_analysis'和'portfolio_risk'等Prompt模板,赋能AI进行交易策略分析和投资组合风险评估。
  • 资源访问: 提供'binance://market/btcusdt'、'binance://account/balances'等标准化资源URI,方便LLM客户端获取格式化的市场和账户数据。
  • 安全与合规: 强调API密钥通过环境变量加载,不记录,仅限Binance Testnet测试网使用,确保资产安全。
  • 健壮性: 采用Rust语言保证类型安全和编译时正确性,内置自动限速和指数退避重试机制。

安装步骤

  1. 安装Rust: 确保您的系统已安装Rust 1.90或更高版本(2024 Edition)。
  2. 克隆仓库: 打开您的终端或命令行工具,执行以下命令:
    git clone https://github.com/ForgeTrade/mcp-binance-rs.git
    cd mcp-binance-rs
  3. 构建服务器: 为了包含订单簿深度分析功能,请使用以下命令构建:
    cargo build --release --features orderbook
    这将生成名为'mcp-binance-server'的可执行文件,位于'target/release/'目录下。

服务器配置

MCP服务器通常由MCP客户端(如Claude Desktop)通过配置文件启动和管理。以下是为Claude Desktop配置MCP币安服务器的示例,您需要将以下JSON片段添加到您的Claude Desktop配置文件'~/Library/Application Support/Claude/claude_desktop_config.json'中。

  • 服务器名称 (server name): 在'mcpServers'对象中,'"binance"'是您给这个MCP服务器实例指定的名称,它将显示在Claude Desktop中。
  • 启动命令 (command): 指定用于启动MCP服务器的命令。通常是'cargo',或者您系统上'cargo'可执行文件的完整路径(例如,在macOS或Linux上可能是'/Users/your_user/.cargo/bin/cargo')。
  • 命令参数 (args):
    • '"run"': 指示'cargo'运行项目。
    • '"--release"': 以发布模式运行,优化性能和速度。
    • '"--features"', '"orderbook"': 启用'orderbook'功能,以支持订单簿深度分析工具。
    • '"--manifest-path"', '"/path/to/mcp-binance-rs/Cargo.toml"': 指定项目的'Cargo.toml'文件的完整路径,确保'cargo'能够找到项目。请务必将'/path/to/mcp-binance-rs/'替换为您的实际仓库路径。
  • 环境变量 (env):
    • '"BINANCE_API_KEY"': 您的币安测试网API Key。这是一个必填项,用于认证账户和交易操作。
    • '"BINANCE_SECRET_KEY"': 您的币安测试网Secret Key。这也是一个必填项,用于签署认证请求。
    • '"BINANCE_BASE_URL"': 币安API的基础URL。对于测试环境,请设置为'https://testnet.binance.vision'。
    • '"RUST_LOG"': 设置Rust日志的详细程度,例如'info'。

示例配置(请务必替换为您的实际路径和密钥):

{
  "mcpServers": {
    "binance": {
      "command": "cargo",
      "args": [
        "run",
        "--release",
        "--features",
        "orderbook",
        "--manifest-path",
        "/path/to/mcp-binance-rs/Cargo.toml"
      ],
      "env": {
        "BINANCE_API_KEY": "您的测试网API密钥",
        "BINANCE_SECRET_KEY": "您的测试网Secret密钥",
        "BINANCE_BASE_URL": "https://testnet.binance.vision",
        "RUST_LOG": "info"
      }
    }
  }
}

重要提示: 务必仅使用币安测试网API密钥和URL进行开发和测试。切勿使用生产环境的密钥,以防止真实资金风险。

基本使用方法

  1. 获取币安测试网凭证: 访问testnet.binance.vision注册账户并生成API密钥。请确保这些密钥是为测试网生成的。
  2. 配置Claude Desktop:
    • 找到您的Claude Desktop配置文件(macOS通常是'~/Library/Application Support/Claude/claude_desktop_config.json')。
    • 将上述“服务器配置”部分的JSON示例粘贴到'"mcpServers"'对象中。
    • 将示例中的占位符(例如'"您的测试网API密钥"'和'/path/to/mcp-binance-rs/Cargo.toml')替换为您的实际信息。
  3. 重启Claude Desktop: 完全关闭Claude Desktop(例如,在macOS上使用Cmd+Q),然后重新打开。
  4. 验证连接与交互:
    • 在Claude Desktop的用户界面中,查找🔌图标。点击它,您应该能看到一个名为“binance”的服务器条目,表示连接成功。
    • 现在,您可以开始向Claude提问以利用币安功能。
      • 查询市场数据: 尝试:“比特币现在的价格是多少?” (What's the current price of Bitcoin?)
      • 获取订单簿深度: 尝试:“给我看ETHUSDT的订单簿前10层。” (Show me the order book for ETHUSDT with top 10 levels.)
      • 查看账户余额: 尝试:“我的账户余额是多少?” (What's my account balance?)
      • 执行交易(测试网): 在确保您的测试网账户有足够资金的情况下,尝试:“以50000 USDT的价格买入0.001个BTC。” (Place a limit buy order for 0.001 BTC at 50000 USDT.)
      • AI辅助分析: 尝试:“分析BTCUSDT的交易机会。” (Analyze BTCUSDT for trading opportunities.) 或 “评估我的投资组合风险。” (Assess my portfolio risk.)

信息

分类

网页与API