返回市场
麦普服务器-交易接口

麦普服务器-交易接口

作者:doggybee117 星标更新:2025-06-03

项目介绍

CCXT MCP 服务器

<img src="assets/ccxt-logo.png" alt="CCXT Logo" width="100" height="100"/>

版本 MCP 标准 CCXT smithery 徽章

使用 MCP(模型上下文协议)和 CCXT 集成高性能的加密货币交易所。

特性

  • 🚀 交易所支持:连接到 20 多个加密货币交易所
  • 🔃 市场类型:支持现货、期货、掉期市场等
  • 🔧 代理配置:通过代理访问交易所的选项
  • 📊 快速且可靠:优化缓存和速率限制
  • 🌐 MCP 标准:通过 MCP 兼容 LLM 如 Claude 和 GPT

CCXT MCP 服务器集成架构

CCXT MCP 服务器集成架构

CCXT MCP 服务器通过模型上下文协议将语言模型连接到加密货币交易所。它充当桥梁,允许 LLM 访问实时市场数据并通过统一的 API 在多个交易所执行交易操作。

架构包括:

  • 发送请求的语言模型客户端(如 Claude 和其他兼容 MCP 的模型)
  • 标准化通信的模型上下文协议(MCP)
  • 处理请求并管理交易所交互的 CCXT MCP 服务器
  • 提供统一访问交易所 API 的 CCXT 库
  • 连接到多个加密货币交易所

CCXT MCP 服务器代码架构

CCXT MCP 服务器代码架构

服务器组织成三个主要模块以提高可维护性和扩展性:

  • 交易所:管理交易所实例、凭证和符号验证
  • 工具:提供缓存、速率限制和日志功能
  • 资源:实现与交易所交互的 MCP 工具和资源

快速开始

通过 Smithery 安装

要通过 Smithery 自动安装 mcp-server-ccxt for Claude Desktop:

npx -y @smithery/cli install @doggybee/mcp-server-ccxt --client claude

NPM 包(推荐)

你可以从 npm 安装 CCXT MCP 服务器:

# 全局安装
npm install -g @mcpfun/mcp-server-ccxt

# 启动服务器
mcp-server-ccxt

或者直接运行:

npx @mcpfun/mcp-server-ccxt

手动安装

另外,你可以克隆并构建仓库:

# 克隆仓库
git clone https://github.com/doggybee/mcp-server-ccxt.git
cd mcp-server-ccxt

# 安装依赖
npm install

# 构建服务器
npm run build

# 启动服务器
npm start

配置

  1. 创建环境文件

    cp .env.example .env
    
  2. 编辑 .env 文件添加你的交易所 API 密钥

    # 默认交易所(可选)
    DEFAULT_EXCHANGE=binance
    
    # 默认市场类型(可选)
    DEFAULT_MARKET_TYPE=spot 
    
    # API 凭证(可选)
    BINANCE_API_KEY=your_api_key
    BINANCE_SECRET=your_api_secret
    # 对于需要密码短语的交易所(例如 KuCoin)
    KUCOIN_API_KEY=your_kucoin_api_key
    KUCOIN_SECRET=your_kucoin_secret
    KUCOIN_PASSPHRASE=your_kucoin_passphrase
    
    # 代理配置(可选)
    USE_PROXY=false
    PROXY_URL=http://username:password@your-proxy-server:port
    # 旧格式(仍然支持但建议使用上面的集成 URL 格式)
    # PROXY_USERNAME=
    # PROXY_PASSWORD=
    

使用方法

注意:如果你遇到 MCP 通信问题,请参阅 故障排除指南 获取解决方案。

运行服务器

启动服务器:

# 如果通过 npm 全局安装
mcp-server--ccxt

# 如果手动安装
npm start

与桌面版 Claude 结合使用

  1. 将服务器添加到你的 claude_desktop_config.json

如果通过 npm 安装(全局):

{
  "mcpServers": {
    "ccxt": {
      "command": "mcp-server-ccxt"
    }
  }
}

如果手动安装:

{
  "mcpServers": {
    "ccxt": {
      "command": "node",
      "args": [
        "/path/to/mcp-server-ccxt/build/index.js"
      ]
    }
  }
}
  1. 重启桌面版 Claude

在其他项目中作为模块使用

你也可以在自己的 Node.js 项目中使用此包作为模块:

// 导入 CCXT MCP 服务器
import '@mcpfun/mcp-server-ccxt';

// 当导入时服务器会自动启动
// 你可以通过环境变量进行配置

示例查询

这里有一些你可以使用的 MCP 服务器示例查询:

  • "Binance 上比特币的当前价格是多少?"
  • "显示 Coinbase 上 ETH/USDT 的订单簿"
  • "获取过去 24 根蜡烛的 Binance 上 BTC/USDT 的 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 蜡烛图数据
  • 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 包含多项优化以确保高性能:

  1. LRU 缓存系统

    • 不同类型的数据有不同的 TTL
    • 行情数据:10 秒
    • 订单簿数据:5 秒
    • 市场数据:1 小时
  2. 自适应速率限制

    • 根据交易所响应自动调整请求速率
    • 实现错误的指数退避
    • 管理每个交易所的并发请求
  3. 交易所连接管理

    • 有效初始化交易所实例
    • 正确处理错误和重试

安全最佳实践

API 密钥安全

  1. 创建专用 API 密钥

    • 为不同的应用/目的创建独立的 API 密钥
    • 不要在不同的服务或应用间重复使用 API 密钥
  2. 限制 API 密钥权限

    • 启用所需的权限(例如,只读市场数据)
    • 如果只需要交易功能,则禁用提现权限
    • 当可用时使用 IP 白名单来限制访问已知 IP
  3. 安全存储

    • 不要将 API 密钥提交到版本控制系统
    • 将 API 密钥存储在环境变量或安全金库中
    • 使用 .env 文件,并通过 .gitignore 排除 git

风险免责声明

本软件仅供信息参考。使用此软件与加密货币交易所互动涉及重大风险:

  • 财务风险:加密货币交易涉及损失的风险
  • API 安全:确保你的 API 密钥具有适当的权限限制
  • 无投资建议:此工具不提供投资建议
  • 无担保:软件按原样提供,没有任何形式的担保

许可证

本项目根据 MIT 许可证发布 - 详情见 LICENSE.txt 文件。

版权和归属

本项目使用了 CCXT 库(https://github.com/ccxt/ccxt),其版权如下:

版权所有 (c) 2016-2024 CCXT 开发者

CCXT 依据 MIT 许可证发布,具体内容如下:

特此免费授予任何获得此软件及其相关文档文件副本的人(以下简称“软件”)不受限制地使用、复制、修改、合并、发布、分发、再许可和/或销售该软件的权限,并允许向他们提供软件的人这样做,但须遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或实质部分中。

软件按原样提供,不附带任何形式的担保,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人都不对因软件或软件的使用或其他交易而产生的任何索赔、损害或其他责任承担任何责任,无论是在合同行为、侵权行为还是其他行为中。

对于问题、功能请求或贡献,请访问 GitHub 仓库