关于 CCXT MCP Server
CCXT MCP Server 是一个基于 CCXT 库的 MCP 服务,让 LLM 通过统一接口访问 20 多个加密货币交易所的行情数据并执行交易操作。项目以 MIT 许可证开源,并提供代理与缓存等性能相关配置。
主要功能
- 01支持现货、期货、永续等市场类型
- 02获取行情、盘口、K 线与成交数据
- 03查询账户余额并下单、撤单(需 API 密钥)
- 04提供 LRU 缓存与自适应速率限制
- 05支持通过代理访问交易所
适用场景
- 01让 LLM 查询多个交易所的实时价格与盘口
- 02比较同一交易对在不同交易所的价格
- 03在已配置 API 密钥的情况下执行交易操作
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露交易所行情、账户与交易相关的工具、资源和配置接口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
24收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
CCXT MCP 服务
使用 MCP(Model Context Protocol)和 CCXT 实现高性能的加密货币交易所集成。
功能
- 🚀 交易所支持:连接 20 多家加密货币交易所
- 🔃 市场类型:支持现货、期货、掉期市场等
- 🔧 代理配置:可配置通过代理访问交易所
- 📊 快速可靠:优化缓存和速率限制
- 🌐 MCP 标准:通过 MCP 兼容 Claude 和 GPT 等大模型
CCXT MCP 服务集成架构
CCXT MCP 服务通过 Model Context Protocol 将语言模型连接到加密货币交易所。它充当桥梁,让大模型通过统一的 API 访问实时市场数据,并在多个交易所执行交易操作。
该架构包括:
- 发送请求的大模型客户端(Claude 和其他兼容 MCP 的模型)
- 标准化通信的 Model Context Protocol(MCP)
- 处理请求并管理交易所交互的 CCXT MCP 服务
- 提供统一交易所 API 访问能力的 CCXT 库
- 与多个加密货币交易所的连接
CCXT MCP 服务代码架构
该服务分为三个主要模块,以提高可维护性和可扩展性:
- Exchange:管理交易所实例、凭据和交易对验证
- Utils:提供缓存、速率限制和日志记录功能
- Tools:实现用于交易所交互的 MCP 工具和资源
快速开始
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 mcp-server-ccxt:
npx -y @smithery/cli install @doggybee/mcp-server-ccxt --client claude
NPM 包(推荐)
你可以通过 npm 安装 CCXT MCP 服务:
# Install globally
npm install -g @mcpfun/mcp-server-ccxt
# Start the server
mcp-server-ccxt
或者直接运行:
npx @mcpfun/mcp-server-ccxt
手动安装
你也可以克隆并构建此代码库:
# Clone the repository
git clone https://github.com/doggybee/mcp-server-ccxt.git
cd mcp-server-ccxt
# Install dependencies
npm install
# Build the server
npm run build
# Start the server
npm start
配置
-
创建环境文件
cp .env.example .env -
编辑
.env文件,添加你的交易所 API 密钥# Default exchange (optional) DEFAULT_EXCHANGE=binance # Default market type (optional) DEFAULT_MARKET_TYPE=spot # API credentials (optional) BINANCE_API_KEY=your_api_key BINANCE_SECRET=your_api_secret # For exchanges requiring passphrase (e.g., KuCoin) KUCOIN_API_KEY=your_kucoin_api_key KUCOIN_SECRET=your_kucoin_secret KUCOIN_PASSPHRASE=your_kucoin_passphrase # Proxy configuration (optional) USE_PROXY=false PROXY_URL=http://username:password@your-proxy-server:port # Legacy format (still supported but recommended to use the integrated URL format above) # PROXY_USERNAME= # PROXY_PASSWORD=
用法
注意:如果遇到 MCP 通信问题,请参阅故障排除指南获取解决方案。
运行服务
启动服务:
# If installed globally via npm
mcp-server-ccxt
# If installed manually
npm start
与 Claude for Desktop 配合使用
- 将服务添加到你的
claude_desktop_config.json:
如果通过 npm 全局安装:
{
"mcpServers": {
"ccxt": {
"command": "mcp-server-ccxt"
}
}
}
如果手动安装:
{
"mcpServers": {
"ccxt": {
"command": "node",
"args": [
"/path/to/mcp-server-ccxt/build/index.js"
]
}
}
}
- 重启 Claude for Desktop
在其他项目中作为模块使用
你也可以在自己的 Node.js 项目中将此包用作模块:
// Import the CCXT MCP Server
import '@mcpfun/mcp-server-ccxt';
// The server starts automatically when imported
// You can configure it through environment variables
示例查询
以下是一些可在 MCP 服务中使用的示例查询:
- “Binance 上 Bitcoin 的当前价格是多少?”
- “显示 Coinbase 上 ETH/USDT 的订单簿”
- “获取 Binance 上 BTC/USDT 最近 24 根 K 线的 1 小时 OHLCV 数据”
- “比较不同交易所的 SOL/USDT 价格”
- “我在 Binance 上的当前余额是多少?”(需要 API 密钥)
- “在 Kraken 上以市价买入 0.1 ETH”(需要 API 密钥)
可用工具
公共 API 工具
list-exchanges:列出所有可用的加密货币交易所get-ticker:获取交易对的当前行情信息batch-get-tickers:一次性获取多个交易对的行情信息get-orderbook/get-order-book:获取交易对的市场订单簿get-ohlcv:获取交易对的 OHLCV K 线数据get-trades:获取交易对的近期交易记录get-markets:获取某个交易所的所有可用市场get-exchange-info:获取交易所信息和状态get-leverage-tiers:获取期货杠杆等级get-funding-rates:获取当前资金费率get-positions:获取未平仓头寸信息get-open-orders:获取所有未结订单get-order-history:获取订单历史记录
私有 API 工具(需要 API 密钥)
account-balance:获取你在加密货币交易所的账户余额place-market-order:在交易所下市价单place-limit-order:在交易所下限价单cancel-order:取消现有订单cancel-all-orders:取消所有未结订单set-leverage:设置期货杠杆set-margin-mode:设置期货保证金模式place-futures-market-order:下期货市价单place-futures-limit-order:下期货限价单transfer-funds:在账户之间转移资金(例如,从现货账户转至期货账户)
配置和实用工具
cache-stats:获取 CCXT 缓存统计信息clear-cache:清除 CCXT 缓存set-log-level:设置日志级别get-proxy-config:获取代理设置set-proxy-config:配置代理设置set-market-type:设置默认市场类型set-default-exchange:更改默认交易所system-info:获取系统和环境信息
性能优化
MCP-CCXT 包含多项优化,以确保高性能:
-
LRU 缓存系统:
- 根据不同数据类型设置不同的 TTL
- 行情数据:10 秒
- 订单簿数据:5 秒
- 市场数据:1 小时
-
自适应速率限制:
- 根据交易所响应自动调整请求速率
- 针对错误实施指数退避
- 管理每个交易所的并发请求
-
交易所连接管理:
- 高效初始化交易所实例
- 妥善处理错误并重试
安全最佳实践
API 密钥安全
-
创建专用 API 密钥:
- 为不同的应用程序/用途创建单独的 API 密钥
- 切勿在不同服务或应用程序之间重复使用 API 密钥
-
限制 API 密钥权限:
- 仅启用所需的权限(例如,仅允许读取市场数据)
- 如果只需要交易功能,请禁用提现权限
- 如果支持,请使用 IP 白名单,将访问限制在已知 IP 地址内
-
安全存储:
- 切勿将 API 密钥提交到版本控制系统
- 将 API 密钥存储在环境变量或安全保管库中
- 使用通过
.gitignore从 git 中排除的.env文件
风险免责声明
本软件仅供参考。使用本软件与加密货币交易所交互涉及重大风险:
- 财务风险:加密货币交易有亏损风险
- API 安全:确保为 API 密钥设置了适当的权限限制
- 非投资建议:本工具不提供投资建议
- 不作保证:本软件按“原样”提供,不附带任何形式的保证
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE.txt 文件。
版权和署名
本项目使用了 CCXT 库(https://github.com/ccxt/ccxt),该库:
Copyright (c) 2016-2024 CCXT developers
CCXT 根据 MIT 许可证发布,许可证内容如下:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
如需反馈问题、提出功能请求或参与贡献,请访问 GitHub 仓库。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。