使用说明
本项目是一个基于FastMCP框架实现的Model Context Protocol (MCP) 服务器,旨在将OKX加密货币交易所的功能通过标准化的接口暴露给大型语言模型(LLM)客户端。
项目简介
OKX MCP 服务器允许LLM应用(如AI助手)访问实时的市场数据、查询账户信息并执行交易操作。它处理与OKX API的交互细节,包括认证、请求签名和响应结构化,使得LLM能够通过简单的“工具调用”方式与OKX交易所互动。
主要功能点
- 市场数据: 获取实时行情价格、历史K线数据、资金费率、未平仓量等公开市场信息。
- 账户与持仓: 查询账户余额、当前持仓详情、历史成交记录等需要认证的信息。
- 交易执行: 支持在OKX上执行现货(SPOT)和永续合约(SWAP)的限价单和市价单。
- 量化网格: 提供网格交易策略(现货和合约)的下单、修改、停止和查询功能。
- 智能计算: 内置SWAP合约大小计算和SPOT订单大小校验等实用工具。
- 数据格式: 支持将API响应数据格式化为JSON、CSV、Markdown、YAML等多种格式。
- 安全认证: 通过环境变量安全管理API密钥,处理签名认证。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/esshka/okx-fast-mcp.git cd okx-fast-mcp - 安装项目依赖:
(注意:如果仓库有'requirements.txt',建议使用'pip install -r requirements.txt'。示例代码中显示需要'fastmcp'和'requests',根据代码分析还需要'pyyaml'来处理YAML格式,故补充依赖)pip install -r requirements.txt # 或者 pip install fastmcp requests pyyaml
服务器配置(供MCP客户端使用)
LLM客户端(如支持MCP的AI助手)需要知道如何启动此OKX MCP服务器进程才能与之通信。这通常通过在客户端的配置文件(例如 'mcp.json')中指定服务器的启动命令、参数和环境变量来完成。
以下是一个示例配置(请根据实际情况修改路径和API密钥),说明了客户端如何配置以启动此服务器:
{ "mcpServers": { "okx": { // 指明用于启动服务器的Python解释器路径 // 示例:如果你的Python在 /usr/local/bin/python "command": "/path/to/your/python", // 启动服务器的脚本路径,请确保路径正确,指向server.py文件 // 示例:如果你的仓库克隆到 /home/user/okx-fast-mcp "args": ["/path/to/your/okx-fast-mcp/server.py"], // 启动服务器时需要设置的环境变量,用于OKX API认证 // 请替换为你的真实API密钥和密码,不要将此文件公开! // 注意:若不设置密钥,只能访问公开行情工具。 "env": { "OKX_API_KEY": "your_api_key", "OKX_SECRET_KEY": "your_secret_key", "OKX_PASSPHRASE": "your_passphrase", // 可选:开启模拟交易模式,设置为"1"或"true"等值 // "OKX_USE_DEMO": "1" } } // 这里可以配置其他MCP服务器 } }
请将上述配置添加到你的MCP客户端的 'mcp.json' 文件中。
重要安全提示:'mcp.json' 文件将包含敏感的API凭据。请务必保护此文件的安全,不要将其上传到公共仓库,并设置严格的文件访问权限(例如,在Linux/macOS上使用 'chmod 600 ~/.your_client/mcp.json')。
基本使用方法
-
设置OKX API密钥、Secret Key 和 Passphrase 到环境变量中(如果需要访问需要认证的功能)。例如在终端中设置(或通过MCP客户端配置传递):
export OKX_API_KEY="your_api_key" export OKX_SECRET_KEY="your_secret_key" export OKX_PASSPHRASE="your_passphrase"请注意: 最安全的做法是通过客户端的'mcp.json'配置,让客户端在启动服务器时传递这些环境变量,而不是直接在系统环境中长期保留。
-
在克隆仓库的根目录(包含 'server.py' 和 'okx_mcp' 文件夹的目录)下运行服务器脚本:
python server.py服务器启动后,会打印日志信息。它将等待MCP客户端连接并发送JSON-RPC请求。
-
配置好的MCP客户端即可通过调用服务器暴露的工具(例如 'get_price', 'get_account_balance', 'place_swap_limit_order' 等)与OKX交易所进行交互。具体如何通过LLM调用工具取决于你使用的客户端应用。
请参考README中“Available Tools”列表了解所有可用的工具及其参数。
信息
分类
商业系统