加密货币交易集成服务

CCXT MCP Server是一个高性能的加密货币交易所集成服务,通过Model Context Protocol(MCP)和CCXT库连接20多个加密货币交易所,支持现货、期货、互换等多种市场类型,并提供优化的缓存和速率限制功能。

作者 By doggybee
本地部署 加密货币交易 交易所集成
GitHub

CCXT MCP服务器

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

特性

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

CCXT MCP服务器集成架构

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

该架构包括:

  • 发送请求的LLM客户端(Claude和其他MCP兼容型号)
  • 规范通信的模型上下文协议(MCP)
  • 处理请求和管理交换交互的CCXT MCP服务器
  • 提供对交换API的统一访问的CCXT库
  • 与多个加密货币交易所的连接

CCXT MCP服务器代码架构

服务器分为三个主要模块,以提高可维护性和可扩展性:

  • 交换:管理交换实例、凭据和符号验证
  • 有用:提供缓存、速率限制和日志记录功能
  • 工具:实施MCP工具和资源以进行交换交互

快速开始

通过Smithery安装

通过以下方式自动安装Claude Desktop的mcp服务器ccxt 史密瑟里:

BASH``` 1npx -y @smithery/cli install @doggybee/mcp-server-ccxt —client claude


### NPM包(推荐)


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


BASH```
1
2
3
4# Install globally
npm install -g @mcpfun/mcp-server-ccxt
# Start the server
mcp-server-ccxt

或者直接运行:

BASH``` 1npx @mcpfun/mcp-server-ccxt


### 手动安装


或者,您可以克隆并构建存储库:


BASH```
1
2
3
4
5
6
7
8
9# 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

配置

  1. 创建环境文件

BASH``` 1cp .env.example .env

2. 编辑 `.env` 文件以添加您的exchange API密钥

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17# 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通信中遇到任何问题,请参阅 故障排除指南 解决方案。


### 运行服务器


启动服务器:


BASH```
1
2
3
4# If installed globally via npm
mcp-server-ccxt
# If installed manually
npm start

使用Claude for Desktop

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

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

JSON``` 1 2 3 4 5 6 7{ “mcpServers”: { “ccxt”: { “command”: “mcp-server-ccxt” } } }


如果手动安装:


JSON```
1
2
3
4
5
6
7
8
9
10{
  "mcpServers": {
    "ccxt": {
      "command": "node",
      "args": [
        "/path/to/mcp-server-ccxt/build/index.js"
      ]
    }
  }
}
  1. 重新启动桌面版的Claude

在另一个项目中用作模块

您还可以将此包用作您自己的Node.js项目中的模块:

JAVASCRIPT``` 1 2 3 4// 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上的比特币目前的价格是多少?”
- “显示Coinbase上ETH/USDT的订单簿”
- “获取过去24支蜡烛在币安上BTC/USDT的1小时OHLCV数据”
- “比较不同交易所的SOL/USDT价格”
- “我目前在币安上的余额是多少?”(需要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. **Exchange连接管理**:


- 高效初始化交换实例
- 正确的错误处理和重试


## 安全最佳实践


### API密钥安全


1. **创建专用API密钥**:


- 为不同的应用程序/目的创建单独的API密钥
- 切勿在不同的服务或应用程序中重复使用API密钥
2. **限制API密钥权限**:


- 仅启用所需的权限(例如,市场数据的只读权限)
- 如果您只需要交易功能,请禁用提款权限
- 在可用时使用IP白名单来限制对已知IP的访问
3. **安全存储**:


- 切勿将API密钥提交到版本控制系统
- 将API密钥存储在环境变量或安全保管库中
- 使用 `.env` 通过以下方式从git中排除的文件 `.gitignore`


## 风险免责声明


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


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


## 许可证


此项目根据MIT许可证获得许可-请参阅 LICENSE.txt 文件以获取详细信息。


## 版权和归属


此项目使用CCXT库([https://github.com/ccxt/ccxt](https://github.com/ccxt/ccxt)),即:

1Copyright (c) 2016-2024 CCXT developers


CCXT根据MIT许可证发布,许可证如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Permission 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仓库](https://github.com/doggybee/mcp-server-ccxt).