交易所API接口服务

基于Model Context Protocol (MCP)的服务器,为OKX V5 API和OKX DEX API提供工具接口层,简化AI代理对OKX交易所(CEX)和去中心化交易所(DEX)功能的访问。

  • by Buidl-Land
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Buidl-Land/0xAuto-okx-mcp-server

使用说明

0xAuto OKX MCP服务器

该服务器基于模型上下文协议(MCP)为OKX V5 API和OKX DEX API提供工具接口层, 为AI代理提供对OKX交易所(CEX)和去中心化交易所(DEX)功能的简化访问。

特性

CEX(集中式交换)功能

  • 隐藏复杂的OKX API身份验证和签名逻辑
  • 提供标准MCP工具接口
  • 涵盖核心功能:
    • 账户信息(余额、头寸、历史记录)
    • 市场数据(报价、K线)
    • 交易操作(下单、取消订单、订单管理)
    • 资金操作(存款地址、提款)

DEX(去中心化交易所)功能

  • 提供对OKX DEX聚合器的访问

  • 支持多链交易和代币交换

  • 涵盖功能:

    • 代币报价检索
    • 代币价格查询和K线数据
    • 链上余额查询
    • 令牌授权操作
    • 链内和跨链交换
  • 标准化JSON响应和错误处理

  • 支持MCP协议会话管理和流媒体

系统要求

  • Node.js(v16或更高版本)
  • pnpm

安装步骤

  1. 安装依赖项:

    pnpm install
    
  2. 设置环境变量: 创建一个 .env 通过复制以下内容来创建文件 .env.example:

    cp .env.example .env
    

    编辑 .env 文件并填写您的OKX API凭据和其他设置:

    # OKX API Configuration
    OKX_API_KEY=your_okx_api_key
    OKX_SECRET_KEY=your_okx_secret_key
    OKX_PASSPHRASE=your_okx_api_password
    OKX_API_BASE_URL=https://www.okx.com
    OKX_DEX_API_BASE=https://web3.okx.com/api/v5/dex
    
    # Simulated trading: 0 for live trading, 1 for demo account
    SIMULATED_TRADING=0
    
    SERVER_PORT=3000
    LOG_LEVEL=info
    

    重要提示: 确保您的OKX API密钥具有必要的权限(读取、交易)。

运行服务器

pnpm start
# or development mode
pnpm dev

服务器将在指定的端口上启动 SERVER_PORT (默认值为3000)。

MCP工具列表

服务器实现了以下MCP工具:

CEX(集中式交换)工具

帐户相关工具

  • okx_get_account_info -获取帐户信息
  • okx_get_positions -获取位置信息
  • okx_get_balance -获取账户余额

交易相关工具

  • okx_place_order -下达交易订单
  • okx_cancel_order -取消订单
  • okx_get_orders -获取订单信息
  • okx_get_order_history -获取历史订单

市场数据工具

  • okx_get_ticker -获取市场报价
  • okx_get_kline -获取K线数据
  • okx_get_instruments -获取产品列表

融资相关工具

  • okx_get_deposit_address -获取存款地址
  • okx_get_deposit_history -获取存款记录
  • okx_withdraw -提取资金

DEX(去中心化交易所)工具

报价和市场数据

  • okx_get_quote -获取OKX DEX聚合器报价(支持滑点设置)
  • okx_get_supported_chains -获取OKX DEX支持的链
  • okx_get_token_list -获取OKX DEX支持的令牌列表
  • okx_get_price -获取OKX DEX上代币的最新价格
  • okx_get_kline -获取OKX DEX上令牌的K线数据(支持不同的时间粒度)

交易相关工具

  • okx_approve_transaction -获取OKX DEX授权交易信息
  • okx_swap -启动OKX DEX掉期
  • okx_cross_chain_swap -启动OKX DEX跨链交换

余额查询

  • okx_get_balance -获取指定链上钱包地址的所有代币余额

项目结构

src/
├── app.js              # Express application configuration
├── index.js            # Server startup entry
├── server.js           # MCP server creation and tool registration
├── config/             # Configuration files
├── controllers/        # Controller logic
├── middleware/         # Middleware
├── services/           # Service layer
│   ├── okxService.js   # OKX CEX API service
│   └── okxDexService.js# OKX DEX API service
├── tools/              # MCP tool implementation
│   ├── accountTools.js # CEX account tools
│   ├── fundingTools.js # CEX funding tools
│   ├── marketTools.js  # CEX market tools
│   ├── tradeTools.js   # CEX trading tools
│   ├── dexTools.js     # DEX tool registration
│   └── dex/            # DEX tool files
│       ├── quoteTool.js         # Quote tool
│       ├── supportedChainsTool.js# Supported chains tool
│       ├── tokenListTool.js     # Token list tool
│       ├── priceTool.js         # Price tool
│       ├── klineTool.js         # K-line tool
│       ├── balanceTool.js       # Balance tool
│       ├── approveTool.js       # Approval tool
│       ├── swapTool.js          # Swap tool
│       └── crossChainSwapTool.js# Cross-chain swap tool
└── utils/              # Utility functions

MCP客户端连接

MCP客户端可以通过以下端点与服务器通信:

  • /mcp -主MCP请求端点
  • /sse -向后兼容的SSE端点
  • /messages -向后兼容的消息端点

使用标准的MCP会话管理,包括会话ID和初始化请求。