OKX MCP Server

OKX MCP Server

badger3000

研究与数据
访问服务器

README

OKX MCP 服务器

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

功能

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

前提条件

  • Node.js (建议 v16 或更高版本)
  • npm 或 yarn
  • 带有 Claude 扩展的 VSCode (如果使用 VSCode 集成)
  • Claude Desktop (如果不使用 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

在 Inspector 中,您可以测试:

  • 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: 在 markdownjsontable (对于 K 线图) 之间选择

与 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 Desktop 集成

如果使用 Claude Desktop,请查看其文档以获取放置 MCP 配置设置的适当位置。

示例提示

集成后,您可以询问 Claude:

  1. "比特币 (BTC-USDT) 的当前价格是多少?给我一个格式良好的显示。"
  2. "使用 5 分钟的间隔,以可视化的方式显示以太坊 (ETH-USDT) 在过去一小时内的价格趋势。"
  3. "比较 BTC-USDT 和 ETH-USDT 的当前价格。"
  4. "分析 SOL-USDT 最近 20 个 1 分钟间隔的 K 线图,并以表格格式显示它们。"
  5. "BTC-USDT 的当前价格高于还是低于其 24 小时高点?可视化价格范围。"
  6. "订阅比特币价格的实时更新,并在价格变化时告诉我。"
  7. "向我展示以太坊的最新实时数据。"
  8. "实时监控 BTC-USDT,如果价格在任一方向上变动超过 1%,则发出警报。"

数据可视化功能

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

价格数据可视化

  • 格式化的 markdown 输出,包含清晰的价格信息
  • 可视化的价格范围条,显示当前价格在 24 小时高点/低点之间的位置
  • 价格变化的指示器 (▲/▼)
  • 格式化的数字,以提高可读性

K 线图数据可视化

  • Markdown 格式: 包括摘要统计信息、价格变动的 ASCII 图表和最近的价格行为表
  • Table 格式: K 线图数据的清晰表格呈现
  • 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

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python