加密货币价格数据服务

OKX MCP Server是一个实时提供OKX交易所加密货币价格数据的模型上下文协议服务器,具有全面的错误处理、请求日志记录和速率限制功能。

  • by esshka
  • JavaScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 esshka/okx-mcp

使用说明

OKX MCP服务器

一个模型上下文协议服务器,提供来自OKX交易所的实时加密货币价格数据。

特性

此MCP服务器连接到OKX API,通过简单的工具界面提供加密货币价格信息。它包括全面的错误处理、请求日志记录和通过OKX的API进行的速率限制。

工具

get_candlesticks

检索OKX上任何仪器的历史烛台(OHLCV)数据。

  • 输入:
    • instrument:字符串(必填)-仪器ID(例如“BTC-USDT”)
    • bar:字符串(可选)-时间间隔(例如“1m”、“5m”、“1H”、“1D”),默认为“1m”
    • limit:Number(可选)-要返回的烛台数量(最大100),默认值为100
  • 输出JSON对象数组,每个对象包含:
    • timestamp:烛台的ISO时间戳
    • open:开盘价
    • high:最高价格
    • low:最低价格
    • close:收盘价
    • volume:交易量
    • volumeCurrency:货币交易量

示例用法:

[
  {
    "timestamp": "2025-03-07T17:00:00.000Z",
    "open": "87242.8",
    "high": "87580.2",
    "low": "86548.0",
    "close": "87191.8",
    "volume": "455.72150427",
    "volumeCurrency": "39661166.242091111"
  }
]

get_price

获取OKX上任何工具的最新价格和24小时市场数据。

  • 输入:
    • instrument:字符串(必填)-仪器ID(例如“BTC-USDT”)
  • 输出:JSON对象包含:
    • instrument:请求的仪器ID
    • lastPrice:最新交易价格
    • bid:当前最佳出价
    • ask:当前最佳要价
    • high24h:24小时高价
    • low24h:24小时低价
    • volume24h:24小时交易量
    • timestamp:数据的ISO时间戳

示例用法:

{
  "instrument": "BTC-USDT",
  "lastPrice": "65432.1",
  "bid": "65432.0",
  "ask": "65432.2",
  "high24h": "66000.0",
  "low24h": "64000.0",
  "volume24h": "1234.56",
  "timestamp": "2024-03-07T17:22:28.000Z"
}

发展

安装依赖项:

npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

安装

要与Claude Desktop或VSCode一起使用,请将服务器配置添加到MCP设置中:

macOS(VSCode):

~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

macOS(克劳德桌面):

~/Library/Application Support/Claude/claude_desktop_config.json

Windows(VSCode):

%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

Windows(克劳德桌面):

%APPDATA%/Claude/claude_desktop_config.json

配置:

{
  "mcpServers": {
    "okx": {
      "command": "node",
      "args": ["/path/to/okx-mcp-server/build/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

错误处理

服务器实现了全面的错误处理:

  • 捕获网络错误并返回上下文
  • 无效的仪器ID会返回相应的错误消息
  • API速率限制通过axios超时配置得到遵守
  • 记录所有错误以用于调试