加密货币交易接口服务

CoinEx MCP服务器为AI代理提供与CoinEx加密货币交易所交互的功能,包括市场数据查询、账户管理和交易操作。

  • by coinexcom
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 coinexcom/coinex_mcp_server

使用说明

CoinEx MCP服务器

中文版本 |英语

CoinEx MCP(模型上下文协议)服务器,使AI代理能够与CoinEx加密货币交易所进行交互。

特性

  • 🔍 检索市场数据(具有统一参数的现货/期货)
  • 💰 查询账户余额(需要身份验证)
  • 📊 获取K线数据(现货/期货)
  • 📈 查看订单簿深度(现货/期货)
  • 💹 下单(需要身份验证)
  • 📋 查询订单历史记录(需要身份验证)
  • 📜 特定期货:融资率、溢价/基差历史、保证金等级、清算历史等。

快速开始

根据您的需要选择以下安装方法之一:

  1. 在线HTTP服务 (推荐)-无需本地安装,仅公开市场数据
  2. 通过uvx/pip进行本地安装 -支持经过身份验证的操作(余额查询、交易)
  3. 来源 -用于开发或定制

获取CoinEx API证书(可选)

API凭证仅用于已验证的操作(帐户余额、交易)。仅适用于市场数据查询,您可以跳过此步骤。

  1. 登录到 CoinEx官方网站
  2. 首选 用户中心 -> API管理
  3. 创建新的API密钥
  4. 复制访问ID和密钥以供以后使用

⚠️ 安全通知:

  • 请确保API凭据的安全,不要与他人共享这些凭据
  • 为API密钥设置适当的权限,仅启用必要的功能
  • 不要将凭据提交到版本控制系统

安装方法1:在线HTTP服务(推荐)

无需本地安装。 使用CoinEx托管的MCP服务 https://mcp.coinex.com/mcp.

⚠️ 备注:在线服务仅提供公开市场数据查询。对于经过身份验证的操作(余额、交易),请使用方法2或3。

克劳德代码

claude mcp add --transport http coinex-mcp-server https://mcp.coinex.com/mcp

克劳德桌面

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "coinex": {
      "command": "http",
      "args": ["https://mcp.coinex.com/mcp"]
    }
  }
}

樱桃工作室

在CherryStudio的MCP设置中,GUI配置:


安装方法2:通过uvx/pip进行本地安装

在本地安装程序包,以支持使用API凭据进行身份验证的操作。

选项A:使用uvx(推荐)

无需预先安装。该软件包将自动下载并运行。

克劳德桌面

编辑您的Claude Desktop配置文件:

{
  "mcpServers": {
    "coinex": {
      "command": "uvx",
      "args": ["coinex-mcp-server"],
      "env": {
        "COINEX_ACCESS_ID": "your_access_id_here",
        "COINEX_SECRET_KEY": "your_secret_key_here"
      }
    }
  }
}

克劳德代码

# Add the server
claude mcp add coinex-mcp-server uvx coinex-mcp-server

# Then manually edit the config file to add environment variables
# Config file location: ~/.config/claude/config.json
# Add env field to the coinex-mcp-server configuration:
# "env": {
#   "COINEX_ACCESS_ID": "your_access_id",
#   "COINEX_SECRET_KEY": "your_secret_key"
# }

樱桃工作室

在CherryStudio的MCP设置中,添加:

选项B:使用pip安装

首先,安装软件包:

# Using pip
pip install coinex-mcp-server

# Or using uv
uv pip install coinex-mcp-server

然后配置您的MCP客户端:

克劳德桌面

{
  "mcpServers": {
    "coinex": {
      "command": "python",
      "args": ["-m", "coinex_mcp_server.main"],
      "env": {
        "COINEX_ACCESS_ID": "your_access_id_here",
        "COINEX_SECRET_KEY": "your_secret_key_here"
      }
    }
  }
}

克劳德代码

# Add the server
claude mcp add coinex-mcp-server python -m coinex_mcp_server.main

# Then manually edit the config file to add environment variables
# Config file location: ~/.config/claude/config.json
# Add env field to the coinex-mcp-server configuration:
# "env": {
#   "COINEX_ACCESS_ID": "your_access_id",
#   "COINEX_SECRET_KEY": "your_secret_key"
# }

樱桃工作室


安装方法3:从源头开始

用于开发或定制目的。

步骤1:克隆存储库

git clone https://github.com/coinexcom/coinex_mcp_server
cd coinex_mcp_server

步骤2:安装依赖项

uv sync

步骤3:配置API凭据

复制环境变量模板文件:

cp .env.example .env

编辑 .env 提交并填写您的CoinEx API凭证:

COINEX_ACCESS_ID=your_access_id_here
COINEX_SECRET_KEY=your_secret_key_here

步骤4:配置MCP客户端

克劳德桌面

{
  "mcpServers": {
    "coinex": {
      "command": "python",
      "args": ["-m", "coinex_mcp_server.main"],
      "cwd": "/path/to/coinex_mcp_server/src"
    }
  }
}

克劳德代码

# Run from the project directory
cd /path/to/coinex_mcp_server
python -m coinex_mcp_server.main

樱桃工作室

步骤5:运行服务器(可选)

对于测试或在HTTP模式下运行:

# Default stdio mode
python -m coinex_mcp_server.main

# HTTP mode
python -m coinex_mcp_server.main --transport http --host 0.0.0.0 --port 8000

# View all available options
python -m coinex_mcp_server.main --help

高级配置

命令行参数

服务器支持以下命令行参数:

  • --transport:传输协议
    • 选项: stdio (默认)| http | streamable-http | sse
  • --host:HTTP服务绑定地址(仅限HTTP/SSE模式)
    • 违约: 127.0.0.1
  • --port:HTTP服务端口(仅限HTTP/SSE模式)
    • 违约: 8000
  • --path:端点路径
    • HTTP模式:MCP端点路径(默认 /mcp)
    • SSE模式:SSE挂载路径
  • --enable-http-auth:为交易工具启用基于HTTP的身份验证
    • 违约: false (仅公开市场数据工具)
  • --workers:工作进程数(仅限HTTP/SSE模式)

作为HTTP服务运行

# Basic HTTP service
python -m coinex_mcp_server.main --transport http --host 0.0.0.0 --port 8000

# HTTP service with authentication enabled
python -m coinex_mcp_server.main --transport http --host 0.0.0.0 --port 8000 --enable-http-auth

# HTTP service with multiple workers
python -m coinex_mcp_server.main --transport http --host 0.0.0.0 --port 8000 --workers 4

⚠️ 备注:如果您访问 /mcp 端点直接通过HTTP GET,它可能会返回 406 Not Acceptable这是正常的——流式HTTP端点需要符合协议的交互流。

HTTP身份验证模式

在HTTP模式下运行时 --enable-http-auth,您可以通过HTTP标头传递CoinEx凭据:

请求标头:

  • X-CoinEx-Access-Id:您的CoinEx访问ID
  • X-CoinEx-Secret-Key:您的CoinEx密钥

安全注意事项:

  • 从不 在公开的服务上启用HTTP身份验证
  • 在生产环境中始终使用HTTPS(使用Nginx/Caddy等反向代理)
  • 确保反向代理/APM/日志系统不记录敏感标头
  • 仅在受信任的内部网络环境中使用
  • 默认情况下,HTTP模式只公开公共市场数据工具(不需要身份验证)

工具概述

注意:在HTTP模式下,仅 public 默认情况下,类型工具是公开的; auth 类型工具需要启用 --enable-http-auth 或设置 HTTP_AUTH_ENABLED=true 可用。

标准参数约定:

  • market_type:默认值 "spot",使用 "futures" 对于合同。
  • symbol:支持 BTCUSDT / BTC/USDT / btc / BTC (默认为 USDT 如果没有报价货币)。
  • interval (深度聚合级别):默认值 "0".
  • period:默认值 "1hour",根据现货/期货白名单进行验证。
  • start_time/end_time:毫秒时间戳。

市场数据(公开)

  • list_markets(market_type="spot"|"futures", symbols: str|list[str]|None)
    • 获得市场地位; symbols 可以用逗号分隔或数组分隔,如果没有提供,则返回全部。
  • get_tickers(market_type="spot"|"futures", symbol: str|list[str]|None, top_n=5)
    • 获取股票快照;返回顶部 top_n 当 symbol 未提供。
  • get_orderbook(symbol, limit=20, market_type="spot"|"futures", interval="0")
    • 获取订单簿(深度);支持期货。
  • get_kline(symbol, period="1hour", limit=100, market_type="spot"|"futures")
    • 获取K线数据;根据相应的现货/期货白名单验证的期限。
  • get_recent_trades(symbol, market_type="spot"|"futures", limit=100)
    • 获取最近的交易。
  • get_index_price(market_type="spot"|"futures", symbol: str|list[str]|None, top_n=5)
    • 获取市场指数(现货/期货)。

期货特定(公开)

  • get_funding_rate(symbol)
    • 获取当前的融资利率。
  • get_funding_rate_history(symbol, start_time?, end_time?, page=1, limit=100)
    • 获取融资率历史记录。
  • get_premium_index_history(symbol, start_time?, end_time?, page=1, limit=100)
    • 获取溢价指数历史记录。
  • get_basis_history(symbol, start_time?, end_time?, page=1, limit=100)
    • 获取基准利率历史记录。
  • get_position_tiers(symbol)
    • 获取头寸级别/保证金级别信息。
  • get_liquidation_history(symbol?, side?, start_time?, end_time?, page=1, limit=100)
    • 获取清算历史记录。

账户与交易(认证)

  • get_account_balance()
    • 获取账户余额信息。
  • place_order(symbol, side, type, amount, price?)
    • 下达交易订单。
  • cancel_order(symbol, order_id)
    • 取消订单。
  • get_order_history(symbol?, limit=100)
    • 获取订单历史记录(未结订单+已完成订单)。

环境变量

变量 描述 必填
COINEX_ACCESS_ID CoinEx API访问ID 否(可选,通过HTTP)
COINEX_SECRET_KEY CoinEx API密钥 否(可选,通过HTTP传递)
API_TOKEN 用于保护MCP端点的承载令牌 否
API_SCOPES 端点所需的范围 否
HTTP_AUTH_ENABLED 启用HTTP身份验证(默认为false) 否

发展

项目结构

coinex_mcp_server/
├── main.py              # MCP server main file
├── coinex_client.py     # CoinEx API client (unified spot/futures wrapper)
├── doc/
│   ├── coinex_api/      
│   │   └── coinex_api.md # CoinEx API documentation
├── pyproject.toml       # Project configuration
└── README.md           # Project documentation

依赖项

  • fastmcp -FastMCP框架(2.x)
  • httpx -HTTP客户端
  • python-dotenv -环境变量加载

故障排除

  • 如果来电返回 code != 0,记录 message 并检查参数(period, limit, symbol 标准化)。
  • 在企业网络环境中或有防火墙限制的情况下,外部API可能会被阻止;请验证网络策略。

许可证

这个项目是开源的 Apache 2.0 许可证。

贡献

欢迎问题和拉取请求!

免责声明

此工具仅用于教育和研究目的。在实际交易中使用此工具时,请充分了解风险并谨慎操作。开发人员不对使用此工具造成的任何损失负责。