使用说明
项目简介
kraken-mcp-trader-v2 是一个基于 Model Context Protocol (MCP) 构建的交易机器人,专为与 Kraken 加密货币交易所集成而设计。它充当 MCP 服务器,旨在与支持 MCP 协议的 LLM 客户端(如 Claude)协同工作,使用户能够通过自然语言指令控制和自动化 Kraken 交易所的交易活动。该项目提供了安全、可扩展的框架,用于执行交易策略、监控市场数据和管理加密货币账户。
主要功能点
- MCP 服务器功能: 作为 MCP 服务器,为 LLM 客户端提供标准化的接口来执行交易操作。
- Kraken 交易所集成: 无缝对接 Kraken 交易所 API,实现实盘交易功能。
- 安全 API 密钥管理: 通过环境变量安全地管理 Kraken API 密钥,避免泄露风险。
- 实时市场数据监控: 监控 Kraken 交易所的实时市场数据,为交易决策提供数据支持。
- 限价订单执行: 支持限价买单和卖单的下单功能,满足多样化的交易需求。
- 错误处理与重试机制: 具备完善的错误处理机制和 API 请求重试逻辑,确保交易的稳定性和可靠性。
- 详细日志记录: 记录所有关键操作和事件,方便用户追踪和审计交易活动。
安装步骤
-
克隆仓库:
git clone https://github.com/rmichael00/kraken-mcp-trader-v2.git cd kraken-mcp-trader-v2 -
创建并激活虚拟环境:
python -m venv venv .\venv\Scripts\activate # Windows -
安装依赖:
pip install -r requirements.txt -
配置环境变量:
- 复制 '.env.example' 文件并重命名为 '.env'。
- 在 '.env' 文件中填入你的 Kraken API 密钥 (KRAKEN_API_KEY) 和私钥 (KRAKEN_API_SECRET)。
- 根据需要配置 MCP 服务器端口 (MCP_PORT) 和调试模式 (DEBUG_MODE)。
服务器配置
为了使 MCP 客户端(如 Claude)能够连接到 kraken-mcp-trader-v2 服务器,你需要提供以下配置信息给 MCP 客户端。以下是一个 JSON 格式的配置示例,可以直接复制到 MCP 客户端的服务器配置中。
{ "serverName": "Kraken Trader MCP Server", "command": "python", "args": [ "mcp_server/server.py" ], "port": 8080, "protocol": "http", "description": "MCP Server for Kraken Trading Bot", "capabilities": [ "get_balance", "place_buy_order" // 更多功能待完善,例如 "place_sell_order", "get_orders", "cancel_order" 等 ] }
配置参数注释:
- 'serverName': MCP 服务器的名称,可以自定义,用于在客户端界面上标识服务器。
- 'command': 启动 MCP 服务器的命令,这里使用 'python' 解释器。
- 'args': 启动命令的参数列表,这里指定运行 'mcp_server/server.py' 文件。
- 'port': MCP 服务器监听的端口号,默认为 '8080',与 '.env' 文件中的 'MCP_PORT' 保持一致。
- 'protocol': 通信协议,这里使用 'http'。
- 'description': 服务器的描述信息,可以自定义。
- 'capabilities': 服务器提供的功能列表。客户端可以根据这些功能列表,调用服务器提供的工具。这里列出了 'get_balance' (获取账户余额) 和 'place_buy_order' (下单买入) 两个功能。
注意: 请确保 MCP 客户端和 kraken-mcp-trader-v2 服务器在网络上可互通。如果服务器运行在本地,客户端也需要在本地网络环境下访问 '127.0.0.1:8080'。
基本使用方法
-
启动 MCP 服务器: 在项目根目录下,运行以下命令启动 MCP 服务器:
python mcp_server/server.py服务器成功启动后,会监听在配置的端口 (默认为 8080) 等待客户端连接。
-
配置 MCP 客户端 (以 Claude 为例):
- 打开 Claude 桌面应用,进入 MCP 服务器配置界面。
- 添加新的服务器配置,并将上面提供的 JSON 配置信息粘贴到配置表单中。
- 测试连接,确保 Claude 客户端能够成功连接到 kraken-mcp-trader-v2 服务器。
-
通过 LLM 客户端发送指令: 在 Claude 等 LLM 客户端中,你可以使用自然语言指令或预设的命令来调用 MCP 服务器的功能。例如,可以使用类似以下指令来操作:
/balance // 获取账户余额 /buy pair=XBT/USD price=50000 volume=0.1 // 下限价买单具体的指令格式和功能取决于 MCP 服务器的实现和客户端的解析能力。请参考仓库的 'README.md' 文件中 "Usage" 部分的示例命令。
请注意,该项目目前可能只实现了部分 MCP 服务器的功能,例如 'place_sell_order', 'get_orders', 'cancel_order' 等功能可能尚未完善。 使用前请仔细阅读项目文档和代码,并根据实际情况进行操作。加密货币交易存在风险,请谨慎投资。
信息
分类
商业系统