mcpField
C
CCXT MCP Server

CCXT MCP Server

本地服务
github.com/lazy-dinosaur金融数据9527 周前更新

关于 CCXT MCP Server

CCXT MCP Server 让 AI 模型通过 MCP 访问加密货币交易所 API,基于 CCXT 库支持 100 多家交易所。适合希望让 AI 助手辅助行情查询、下单与交易分析的用户。

主要功能

  1. 01查询行情、订单簿与历史 OHLCV 数据
  2. 02创建市价单与限价单,查询余额与订单
  3. 03交易表现分析与胜率计算
  4. 04仓位管理与杠杆设置
  5. 05止损、止盈与风险限制

适用场景

  1. 01让 AI 助手比较多个交易所的价格
  2. 02分析最近 7 天或 30 天的交易记录
  3. 03按资金比例开设合约仓位并设置止损

MCP 相关

该服务以 MCP 服务的形式向 AI 客户端暴露行情、交易与分析相关的工具,底层通过 CCXT 调用交易所 API。HTTP+SSE 模式下需要 Bearer 令牌认证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ccxt": {
"command": "npx",
"args": [
"-y",
"@lazydino/ccxt-mcp"
]
}
}
}
启动命令npx -y @lazydino/ccxt-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@lazydino/ccxt-mcp

工具

20

收录的工具列表 · 更新于 3 周前

参数类型必填说明
exchangeIdstring是交易所 ID(例如,'binance'、'coinbase')

详细介绍

CCXT MCP 服务

npm version npm downloads GitHub stars License: MIT

한국어 버전(Korean version)

CCXT MCP 服务是一种服务,可让 AI 模型通过 Model Context Protocol(MCP)与加密货币交易所 API 交互。该服务使用 CCXT 库,提供对 100 多家加密货币交易所以及其交易功能的访问。

🚀 快速开始

# Install the package globally
npm install -g @lazydino/ccxt-mcp

# Run with default settings
ccxt-mcp

# or run without installation
npx @lazydino/ccxt-mcp

安装和使用

全局安装
# Install the package globally
npm install -g @lazydino/ccxt-mcp
使用 npx 运行

无需安装即可直接运行:

# Using default settings
npx @lazydino/ccxt-mcp

# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/config.json

查看帮助:

npx @lazydino/ccxt-mcp --help

配置

在 Claude Desktop 中注册 MCP 服务
  1. 打开 Claude Desktop 设置:

    • 在 Claude Desktop 应用中打开设置菜单
    • 找到“MCP Servers”部分
  2. 添加新的 MCP 服务:

    • 点击“Add Server”按钮
    • 服务名称:ccxt-mcp
    • 命令:npx @lazydino/ccxt-mcp
    • 其他参数(可选):--config /path/to/config.json
  3. 保存并测试服务:

    • 保存设置
    • 使用“Test Connection”按钮测试连接
配置方法——两种选项
选项 1:在 Claude Desktop 设置中直接包含账户信息(基本方法)

此方法将 CCXT 账户信息直接写入 Claude Desktop 设置文件(claude_desktop_config.json):

{
  "mcpServers": {
    "ccxt-mcp": {
      "command": "npx",
      "args": ["-y", "@lazydino/ccxt-mcp"],
      "mcpBearerToken": "YOUR_MCP_TOKEN",
      "accounts": [
        {
          "name": "bybit_main",
          "exchangeId": "bybit",
          "apiKey": "YOUR_API_KEY",
          "secret": "YOUR_SECRET_KEY",
          "defaultType": "spot"
        },
        {
          "name": "bybit_futures",
          "exchangeId": "bybit",
          "apiKey": "YOUR_API_KEY",
          "secret": "YOUR_SECRET_KEY",
          "defaultType": "swap"
        }
      ]
    }
  }
}

使用此方法时,无需单独的配置文件。所有设置都集成在 Claude Desktop 配置文件中。

选项 2:使用单独的配置文件(高级方法)

如需将账户信息单独存放在一个配置文件中,请按以下步骤设置:

  1. 创建单独的配置文件(例如,ccxt-config.json):
{
  "mcpBearerToken": "YOUR_MCP_TOKEN",
  "accounts": [
    {
      "name": "bybit_main",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY",
      "defaultType": "spot"
    },
    {
      "name": "bybit_futures",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY",
      "defaultType": "swap"
    }
  ]
}

重要:配置文件必须在根级别包含 accounts 数组,如上所示。

重要:如果以 HTTP+SSE 模式运行服务(--sse),请在同一配置文件中设置 mcpBearerToken。客户端必须在请求中发送 Authorization: Bearer <mcpBearerToken>。

  1. 在 Claude Desktop 设置中指定配置文件路径:
{
  "mcpServers": {
    "ccxt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@lazydino/ccxt-mcp",
        "--config",
        "/path/to/ccxt-config.json"
      ]
    }
  }
}

注意:使用 --config 选项指定单独的配置文件时,服务会直接在 JSON 文件的根级别查找 accounts 数组,而不是在 mcpServers.ccxt-mcp.accounts 路径下查找。

  1. 通过命令行运行并指定外部配置文件:
# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/ccxt-config.json

你可以在仓库的 config/ccxt-config.example.json 中找到示例配置文件。

使用单独配置文件的原因:

  • 避免递归引用问题
  • 将 API 密钥等敏感信息分开存放
  • 更轻松地进行多环境配置(开发、测试、生产)
  • 改进配置文件的版本控制

主要功能

  • 市场信息检索:

    • 列出交易所
    • 按交易所查看市场信息
    • 获取指定交易对的价格信息
    • 查看指定交易对的订单簿信息
    • 搜索历史 OHLCV 数据
  • 交易功能:

    • 创建市价单/限价单
    • 取消订单并查看状态
    • 查看账户余额
    • 查看交易历史
  • 交易分析:

    • 日/周/月绩效分析
    • 胜率计算(最近 7 天、30 天、全部时间)
    • 平均盈亏比(R 倍数)
    • 最大连续亏损/盈利序列分析
    • 资产变化跟踪
    • 综合绩效指标
    • 交易模式识别
    • 按周期计算回报
  • 仓位管理:

    • 按资金比例交易(例如,使用账户资金的 5% 入场)
    • 设置期货市场杠杆(1-100 倍)
    • 动态仓位规模调整(基于波动率)
    • 实施分批买入/卖出策略
  • 风险管理:

    • 基于技术指标设置止损(例如,取 5 分钟图表上 10 根 K 线中的最低点)
    • 基于波动率设置止损/止盈(ATR 倍数)
    • 最大允许亏损限额(日/周)
    • 动态设置止盈(移动止盈)

工作原理

User <--> AI Model(Claude/GPT) <--> MCP Protocol <--> CCXT MCP Server <--> Cryptocurrency Exchange API
  1. 用户:提出“告诉我 Bitcoin 的价格”或“在我的 Binance 账户上买入 Ethereum”等请求
  2. AI 模型:理解用户请求,并确定要使用哪些 MCP 工具/资源
  3. MCP 协议:AI 与 CCXT MCP 服务之间的标准化通信
  4. CCXT MCP 服务:使用 CCXT 库与加密货币交易所 API 通信
  5. 交易所 API:提供实际数据并执行交易订单

与 AI 模型配合使用

在 Claude Desktop 中注册后,你可以向 AI 模型提出以下类型的请求:

注意事项和推荐提示词

使用 AI 模型时,请注意以下事项,并使用下面的提示词来有效交易:

Your goal is to execute trades using the ccxt tools as much as possible
Cautions:
- Accurately identify whether it's a futures market or spot market before proceeding with trades
- If there's no instruction about percentage of capital or amount to use, always calculate and execute trades using the entire available capital

注意:

  • AI 模型有时会混淆期货交易与现货交易。
  • 如果没有明确说明交易资金规模,AI 可能会感到困惑。
  • 使用上述提示词有助于清楚地传达你的交易意图。
基本查询示例
Check and compare the current Bitcoin price on binance and coinbase.
高级交易查询示例

仓位管理

Open a long position on BTC/USDT futures market in my Bybit account (bybit_futures) with 5% of capital using 10x leverage.
Enter based on moving average crossover strategy and set stop loss at the lowest point among the 12 most recent 5-minute candles.

绩效分析

Analyze my Binance account (bybit_main) trading records for the last 7 days and show me the win rate, average profit, and maximum consecutive losses.

详细交易分析

Analyze my trading performance on the bybit_futures account for BTC/USDT over the last 30 days. Calculate win rate, profit factor, and identify any patterns in my winning trades.
Show me the monthly returns for my bybit_main account over the past 90 days and identify my best and worst trading months.
Analyze my consecutive wins and losses on my bybit_futures account and tell me if I have any psychological patterns affecting my trading after losses.

开发

从源代码构建
# Clone repository
git clone https://github.com/lazy-dinosaur/ccxt-mcp.git

# Navigate to project directory
cd ccxt-mcp

# Install dependencies
npm install

# Build
npm run build

Docker

使用 Docker Compose 构建并运行
  1. 创建配置文件:
cp config/ccxt-config.example.json config/ccxt-config.json

然后在 config/ccxt-config.json 中填入真实的 API 密钥。 还要在同一配置文件中设置 mcpBearerToken。 2. 构建镜像:

docker compose build
  1. 在后台启动 MCP 服务(在 localhost:2298 上以 SSE 模式运行):
docker compose up -d
  1. 验证本地健康检查端点:
curl -H "Authorization: Bearer YOUR_MCP_TOKEN" http://127.0.0.1:2298/healthz

此 Compose 配置会在 localhost:2298 上通过 HTTP+SSE(/sse + /messages)运行 MCP,以便进行反向代理。

远程 MCP 客户端配置

如果 MCP 客户端运行在另一台主机上,请在此机器上使用 Nginx 反向代理。

  1. 将 ccxt-mcp.nginx 复制到 Nginx 配置目录,并更新证书路径:
sudo cp ccxt-mcp.nginx /etc/nginx/conf.d/ccxt-mcp.conf
  1. 编辑 /etc/nginx/conf.d/ccxt-mcp.conf 并设置:
  • ssl_certificate
  • ssl_certificate_key
  • 转发 Authorization 请求头(此文件中已包含)
  1. 重新加载 Nginx:
sudo nginx -t && sudo systemctl reload nginx
  1. 在 MCP 客户端中,将 MCP 服务 URL 配置为你的 TLS 端点:
  • SSE URL:https://YOUR_HOSTNAME_OR_IP:42299/sse
  • Messages URL:https://YOUR_HOSTNAME_OR_IP:42299/messages
  • 请求头:Authorization: Bearer YOUR_MCP_TOKEN

你可以使用以下命令生成强令牌:

openssl rand -hex 32

配置示例:

{
  "mcpBearerToken": "YOUR_MCP_TOKEN",
  "accounts": [
    {
      "name": "bybit_main",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY"
    }
  ]
}

端口说明:

  • 42298 是 HTTP(仅用于重定向)
  • 42299 是 HTTPS
  • 2298 来自 CCXT 在手机键盘上的按键对应

如果 MCP 客户端接受通过命令配置的 MCP 服务,而不是通过 URL 配置,请按以下方式配置 ccxt-mcp:

  • 命令:docker
  • 参数:
[
  "run",
  "--rm",
  "-i",
  "-p",
  "127.0.0.1:2298:2298",
  "-v",
  "/absolute/path/to/ccxt-mcp/config/ccxt-config.json:/config/ccxt-config.json:ro",
  "ccxt-mcp:local",
  "--sse",
  "--host",
  "0.0.0.0",
  "--port",
  "2298",
  "--config",
  "/config/ccxt-config.json"
]

请先使用 docker compose build 构建镜像。

🤝 参与贡献

欢迎贡献!请随时提交 Pull Request。

📄 许可证

本项目采用 MIT 许可证发布。更多信息请参阅 LICENSE 文件。

❤️ 支持

如果您觉得这个项目有用,请考虑在 GitHub 上给它点个 ⭐️!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。