使用说明

项目简介

Crypto Trading MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 LLM 客户端提供访问加密货币交易市场数据和交易功能的标准化接口。它允许 LLM 应用安全、可扩展地获取实时的市场信息并执行交易操作,从而实现智能化的加密货币交易策略。

主要功能点

  • 多交易所支持: 目前支持 Upbit, Gate.io, Binance 三大交易所,未来可扩展支持更多交易所。
  • 价格查询: 获取实时加密货币交易对的市场价格信息,包括最新成交价、最高价、最低价、交易量等。
  • 账户余额查询: 查询用户在交易所的账户余额,包括可用余额和锁定余额。
  • 订单管理: 支持查询订单详情、获取未完成订单、获取已完成订单,以及下单和取消订单等交易操作。
  • 订单簿查询: 获取指定交易对的订单簿信息,了解市场买卖盘深度。
  • 标准化接口: 通过 MCP 协议以 JSON-RPC 格式与客户端通信,提供统一的数据访问和功能调用方式。

安装步骤

  1. 环境准备: 确保已安装 Python 3.10 或更高版本。
  2. 克隆仓库: 将 GitHub 仓库 'https://github.com/vkdnjznd/crypto-trading-mcp' 克隆到本地。
    git clone https://github.com/vkdnjznd/crypto-trading-mcp
    cd crypto-trading-mcp
  3. 安装依赖: 使用 'uv pip' 安装项目依赖,包括测试依赖。
    uv pip install .
  4. 配置环境变量: 根据您使用的交易所,配置相应的 API 密钥和Secret Key 作为环境变量。例如,配置 Upbit 交易所的 API 密钥,需要在您的shell环境中设置 'UPBIT_ACCESS_KEY' 和 'UPBIT_SECRET_KEY' 环境变量。
    # 以 Upbit 为例
    export UPBIT_ACCESS_KEY="your-upbit-access-key"
    export UPBIT_SECRET_KEY="your-upbit-secret-key"
    # Gate.io
    # export GATEIO_ACCESS_KEY="your-gateio-api-key"
    # export GATEIO_SECRET_KEY="your-gateio-secret-key"
    # Binance
    # export BINANCE_ACCESS_KEY="your-binance-api-key"
    # export BINANCE_SECRET_KEY="your-binance-secret-key"
    请务必替换 'your-upbit-access-key', 'your-upbit-secret-key' 等为您实际的 API 密钥。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息以连接到 Crypto Trading MCP Server:

{
  "serverName": "crypto-trading-mcp-server",
  "command": "python",
  "args": ["-m", "crypto_trading_mcp.server", "sse"]
  // "command": "python"  - 启动服务器的命令,这里使用 python
  // "args": ["-m", "crypto_trading_mcp.server", "sse"] - 传递给命令的参数,
  //   "-m crypto_trading_mcp.server"  指定运行 crypto_trading_mcp.server 模块作为主程序,
  //   "sse"  指定使用 Server-Sent Events (SSE) 作为传输协议。
  //   您可能需要根据实际运行环境调整 python 的路径。
}

注意:

  • 请确保 Python 环境已添加到系统 PATH 环境变量中,或者将 'command' 字段配置为 Python 解释器的完整路径。
  • 'args' 中的 '"sse"' 参数指定服务器使用 Server-Sent Events 协议。根据 'src/crypto_trading_mcp/server.py' 代码,可能还支持其他协议,但文档中未明确指出,默认使用 'sse' 即可。

基本使用方法

  1. 启动服务器: 在项目根目录下,运行以下命令启动 MCP 服务器 (使用 SSE 协议)。

    python -m crypto_trading_mcp.server sse

    服务器成功启动后,将监听客户端的 MCP 请求。

  2. MCP 客户端连接: 配置您的 MCP 客户端,使其连接到正在运行的 Crypto Trading MCP Server。客户端需要能够发送符合 MCP 协议的 JSON-RPC 请求。

  3. 调用工具: 客户端可以使用 MCP 协议调用服务器提供的工具 (Tools),例如:

    • 'get_exchange_names': 获取支持的交易所名称列表。
    • 'get_symbols': 获取指定交易所的所有交易对。
    • 'get_tickers': 获取指定交易所和交易对的实时行情数据。
    • 'get_balances': 获取指定交易所的账户余额。
    • 'get_order_detail', 'get_open_orders', 'get_closed_orders': 查询订单信息。
    • 'get_order_book': 获取指定交易对的订单簿。
    • 'place_order', 'cancel_order': 进行下单和取消订单操作。

    具体的请求格式和参数请参考 MCP 协议文档和 'src/crypto_trading_mcp/server.py' 中 '@app.tool()' 注解的函数定义。

示例工具调用 (假设使用 JSON-RPC over SSE 客户端): 客户端发送 JSON-RPC 请求调用 'get_tickers' 工具获取 Upbit 交易所 "KRW-BTC" 交易对的行情:

{
  "jsonrpc": "2.0",
  "method": "get_tickers",
  "params": {
    "exchange_name": "upbit",
    "symbol": "KRW-BTC"
  },
  "id": 1
}

服务器将返回包含行情数据的 JSON-RPC 响应。

注意: 本仓库提供的代码主要侧重于交易所 API 的封装和 MCP 服务器框架的搭建,没有提供完整的前端 MCP 客户端。您需要自行开发或使用现有的 MCP 客户端与之对接,才能充分利用其功能。

信息

分类

商业系统