返回市场
OKX-MCP服务器

OKX-MCP服务器

作者:badger30003 星标更新:2025-09-14

项目介绍

MseeP.ai 安全评估徽章

OKX MCP 服务器

该项目创建了一个模型上下文协议(MCP)服务器,从 OKX 交易所获取实时加密货币数据。它允许像 Claude 这样的AI助手通过定义的工具访问最新的加密货币价格信息和历史数据,并具有增强的可视化能力和WebSocket实时更新。

特性

  • get_price: 获取加密货币交易对的最新价格数据,并带有视觉格式化
  • get_candlesticks: 获取历史蜡烛图数据,并提供包括ASCII图表在内的可视化选项
  • subscribe_ticker: 订阅特定交易对的实时WebSocket更新
  • get_live_ticker: 从WebSocket连接中获取最新的实时数据
  • unsubscribe_ticker: 停止接收特定交易对的更新

预备条件

  • Node.js(推荐 v16 或更高版本)
  • npm 或 yarn
  • 集成 VSCode 的 Claude 扩展(如果使用 VSCode 集成)
  • Claude 桌面版(如果不使用 VSCode)

安装

  1. 克隆仓库

    git clone https://github.com/yourusername/okx-mcp-server.git
    cd okx-mcp-server
    
  2. 安装依赖

    npm install
    
  3. 添加 WebSocket 依赖

    npm install ws
    npm install --save-dev @types/ws
    
  4. 构建项目

    npm run build
    
  5. 将编译后的脚本设置为可执行

    chmod +x build/index.js
    

使用方法

直接运行服务器

你可以直接运行服务器:

npm start

或者:

node build/index.js

使用 MCP Inspector 测试

在集成之前测试你的 MCP 服务器:

npx @modelcontextprotocol/inspector node build/index.js

在检查器中,你可以测试:

  • get_price 输入:{ "instrument": "BTC-USDT", "format": "markdown" }
  • get_candlesticks 输入:{ "instrument": "BTC-USDT", "bar": "1m", "limit": 10, "format": "markdown" }
  • subscribe_ticker 输入:{ "instrument": "BTC-USDT" }
  • get_live_ticker 输入:{ "instrument": "BTC-USDT", "format": "markdown" }
  • unsubscribe_ticker 输入:{ "instrument": "BTC-USDT" }

每个工具支持不同的可视化格式:

  • format: 在 markdown, jsontable(用于蜡烛图)之间选择

集成到 VSCode

  1. 安装 VSCode 的 Claude 扩展

  2. 在 VSCode 设置中配置 MCP 服务器:

    • 创建或编辑以下文件:
      ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
      
    • 添加以下配置:
      {
        "mcpServers": {
          "okx": {
            "command": "node",
            "args": ["/absolute/path/to/okx-mcp-server/build/index.js"],
            "disabled": false,
            "autoApprove": []
          }
        }
      }
      
    • 替换 /absolute/path/to/okx-mcp-server/build/index.js 为你实际的文件路径
  3. 重启 VSCode 或重新加载 Claude 扩展

集成到 Claude 桌面版

如果使用 Claude 桌面版,请查阅其文档以了解放置 MCP 配置设置的适当位置。

示例提示

一旦集成,你可以向 Claude 提问:

  1. "比特币(BTC-USDT)当前的价格是多少?给我一个漂亮的显示格式。"
  2. "展示过去一小时内以太坊(ETH-USDT)的价格趋势,使用5分钟的时间间隔,并给出可视化表示。"
  3. "比较 BTC-USDT 和 ETH-USDT 的当前价格。"
  4. "分析 SOL-USDT 最近的20根蜡烛图,时间间隔为1分钟,并以表格形式显示。"
  5. "当前 BTC-USDT 的价格是高于还是低于其24小时内的最高价?可视化价格区间。"
  6. "订阅比特币价格的实时更新,并告诉我当价格变化时。"
  7. "展示最新的实时数据给以太坊。"
  8. "实时监控 BTC-USDT,如果价格变动超过1%,请通知我。"

数据可视化特性

增强的 MCP 服务器提供了丰富的数据可视化:

价格数据可视化

  • 格式化的 markdown 输出,带有清晰的价格信息
  • 视觉价格区间条,显示当前价格在24小时高低价之间的位置
  • 方向指示器(▲/▼),用于价格变化
  • 格式化的数字,便于阅读

蜡烛图数据可视化

  • Markdown 格式:包括总结统计数据、价格变动的ASCII图表以及最近的价格动作表
  • 表格格式:干净的表格呈现蜡烛图数据
  • JSON 格式:原始数据,用于程序使用

格式选项

  • get_price: 支持 markdown(默认)或 json 格式
  • get_candlesticks: 支持 markdown(默认)、tablejson 格式
  • get_live_ticker: 支持 markdown(默认)或 json 格式

WebSocket 实时更新

此服务器包括 WebSocket 支持,用于从 OKX 接收实时数据:

WebSocket 如何工作

  • 建立与 OKX WebSocket API 的持久连接
  • 当价格变化时接收推送更新
  • 维护每个已订阅工具的最新数据缓存
  • 如果连接丢失,自动重新连接

WebSocket 工具

  • subscribe_ticker: 开始订阅实时行情更新
  • get_live_ticker: 获取活动订阅的最新数据
  • unsubscribe_ticker: 结束不再需要的订阅

实时更新的应用场景

  • 实时监控价格变动
  • 设置价格警报
  • 跟踪市场波动
  • 使用最新数据做出明智的交易决策

环境变量(可选)

此基本实现使用不需要身份验证的 OKX 公共 API 端点。如果你扩展服务器以使用认证端点,可能需要添加这些环境变量:

OKX_API_KEY=your_api_key
OKX_API_SECRET=your_api_secret
OKX_API_PASSPHRASE=your_api_passphrase

安全注意事项

  • 当前实现仅使用 OKX 的公共 API 端点,因此不需要 API 密钥
  • 不在代码库中存储敏感数据
  • 可以将此代码提交到 Git

扩展服务器

你可以通过以下方式扩展此 MCP 服务器:

  1. 为其他 OKX API 端点添加更多工具
  2. 使用 API 密钥实现认证端点
  3. 添加对其他交易所的支持
  4. 通过更复杂的图表进一步增强可视化效果
  5. 添加技术分析指标(RSI、MACD、移动平均线)
  6. 实现多个加密货币的价格比较工具
  7. 添加市场概要功能,进行广泛的市场分析

许可证

MIT