关于 CCXT MCP Server
CCXT MCP Server 让 AI 模型通过 MCP 访问加密货币交易所 API,基于 CCXT 库支持 100 多家交易所。适合希望让 AI 助手辅助行情查询、下单与交易分析的用户。
主要功能
- 01查询行情、订单簿与历史 OHLCV 数据
- 02创建市价单与限价单,查询余额与订单
- 03交易表现分析与胜率计算
- 04仓位管理与杠杆设置
- 05止损、止盈与风险限制
适用场景
- 01让 AI 助手比较多个交易所的价格
- 02分析最近 7 天或 30 天的交易记录
- 03按资金比例开设合约仓位并设置止损
MCP 相关
该服务以 MCP 服务的形式向 AI 客户端暴露行情、交易与分析相关的工具,底层通过 CCXT 调用交易所 API。HTTP+SSE 模式下需要 Bearer 令牌认证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
20收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| exchangeId | string | 是 | 交易所 ID(例如,'binance'、'coinbase') |
详细介绍
CCXT MCP 服务
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 服务
-
打开 Claude Desktop 设置:
- 在 Claude Desktop 应用中打开设置菜单
- 找到“MCP Servers”部分
-
添加新的 MCP 服务:
- 点击“Add Server”按钮
- 服务名称:
ccxt-mcp - 命令:
npx @lazydino/ccxt-mcp - 其他参数(可选):
--config /path/to/config.json
-
保存并测试服务:
- 保存设置
- 使用“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:使用单独的配置文件(高级方法)
如需将账户信息单独存放在一个配置文件中,请按以下步骤设置:
- 创建单独的配置文件(例如,
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>。
- 在 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路径下查找。
- 通过命令行运行并指定外部配置文件:
# 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
- 用户:提出“告诉我 Bitcoin 的价格”或“在我的 Binance 账户上买入 Ethereum”等请求
- AI 模型:理解用户请求,并确定要使用哪些 MCP 工具/资源
- MCP 协议:AI 与 CCXT MCP 服务之间的标准化通信
- CCXT MCP 服务:使用 CCXT 库与加密货币交易所 API 通信
- 交易所 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 构建并运行
- 创建配置文件:
cp config/ccxt-config.example.json config/ccxt-config.json
然后在 config/ccxt-config.json 中填入真实的 API 密钥。
还要在同一配置文件中设置 mcpBearerToken。
2. 构建镜像:
docker compose build
- 在后台启动 MCP 服务(在 localhost:2298 上以 SSE 模式运行):
docker compose up -d
- 验证本地健康检查端点:
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 反向代理。
- 将
ccxt-mcp.nginx复制到 Nginx 配置目录,并更新证书路径:
sudo cp ccxt-mcp.nginx /etc/nginx/conf.d/ccxt-mcp.conf
- 编辑
/etc/nginx/conf.d/ccxt-mcp.conf并设置:
ssl_certificatessl_certificate_key- 转发 Authorization 请求头(此文件中已包含)
- 重新加载 Nginx:
sudo nginx -t && sudo systemctl reload nginx
- 在 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是 HTTPS2298来自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 上给它点个 ⭐️!
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。