使用说明
项目简介
Crypto Trading MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 LLM 客户端提供访问加密货币交易市场数据和交易功能的标准化接口。它允许 LLM 应用安全、可扩展地获取实时的市场信息并执行交易操作,从而实现智能化的加密货币交易策略。
主要功能点
- 多交易所支持: 目前支持 Upbit, Gate.io, Binance 三大交易所,未来可扩展支持更多交易所。
- 价格查询: 获取实时加密货币交易对的市场价格信息,包括最新成交价、最高价、最低价、交易量等。
- 账户余额查询: 查询用户在交易所的账户余额,包括可用余额和锁定余额。
- 订单管理: 支持查询订单详情、获取未完成订单、获取已完成订单,以及下单和取消订单等交易操作。
- 订单簿查询: 获取指定交易对的订单簿信息,了解市场买卖盘深度。
- 标准化接口: 通过 MCP 协议以 JSON-RPC 格式与客户端通信,提供统一的数据访问和功能调用方式。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本。
- 克隆仓库: 将 GitHub 仓库 'https://github.com/vkdnjznd/crypto-trading-mcp' 克隆到本地。
git clone https://github.com/vkdnjznd/crypto-trading-mcp cd crypto-trading-mcp - 安装依赖: 使用 'uv pip' 安装项目依赖,包括测试依赖。
uv pip install . - 配置环境变量: 根据您使用的交易所,配置相应的 API 密钥和Secret Key 作为环境变量。例如,配置 Upbit 交易所的 API 密钥,需要在您的shell环境中设置 'UPBIT_ACCESS_KEY' 和 'UPBIT_SECRET_KEY' 环境变量。
请务必替换 'your-upbit-access-key', 'your-upbit-secret-key' 等为您实际的 API 密钥。# 以 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"
服务器配置
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' 即可。
基本使用方法
-
启动服务器: 在项目根目录下,运行以下命令启动 MCP 服务器 (使用 SSE 协议)。
python -m crypto_trading_mcp.server sse服务器成功启动后,将监听客户端的 MCP 请求。
-
MCP 客户端连接: 配置您的 MCP 客户端,使其连接到正在运行的 Crypto Trading MCP Server。客户端需要能够发送符合 MCP 协议的 JSON-RPC 请求。
-
调用工具: 客户端可以使用 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 客户端与之对接,才能充分利用其功能。
信息
分类
商业系统