使用说明

本项目是一个基于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密钥,处理签名认证。

安装步骤

  1. 克隆仓库到本地:
    git clone https://github.com/esshka/okx-fast-mcp.git
    cd okx-fast-mcp
  2. 安装项目依赖:
    pip install -r requirements.txt # 或者 pip install fastmcp requests pyyaml
    (注意:如果仓库有'requirements.txt',建议使用'pip install -r requirements.txt'。示例代码中显示需要'fastmcp'和'requests',根据代码分析还需要'pyyaml'来处理YAML格式,故补充依赖)

服务器配置(供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')。

基本使用方法

  1. 设置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'配置,让客户端在启动服务器时传递这些环境变量,而不是直接在系统环境中长期保留。

  2. 在克隆仓库的根目录(包含 'server.py' 和 'okx_mcp' 文件夹的目录)下运行服务器脚本:

    python server.py

    服务器启动后,会打印日志信息。它将等待MCP客户端连接并发送JSON-RPC请求。

  3. 配置好的MCP客户端即可通过调用服务器暴露的工具(例如 'get_price', 'get_account_balance', 'place_swap_limit_order' 等)与OKX交易所进行交互。具体如何通过LLM调用工具取决于你使用的客户端应用。

请参考README中“Available Tools”列表了解所有可用的工具及其参数。

信息

分类

商业系统