
CCXT MCP Server

2025.05.07
1
Python加密货币交易市场数据分析账户管理金融服务
CCXT MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,它将 CCXT 库的功能暴露为大型语言模型 (LLMs) 的工具。该服务允许 LLMs 以标准化和异步的方式与加密货币交易所交互,执行诸如获取余额、市场数据、创建订单等任务。
View on GitHub
Overview
基本能力
产品定位
CCXT MCP Server 是一个为大型语言模型 (LLMs) 提供加密货币交易所交互能力的服务。
核心功能
- CCXT 集成:封装了常见的 CCXT 函数,用于与交易所交互。
- 异步操作:使用
asyncio
和ccxt.async_support
实现高效的非阻塞操作。 - 清晰的工具定义:使用
typing.Annotated
和pydantic.Field
提供清晰的参数描述和约束,便于 LLMs 和开发者理解和使用工具。 - 认证处理:支持 API 密钥、密钥和密码认证,用于私有端点。
- 公共和私有工具:提供公共市场数据和私有账户操作的工具。
适用场景
- 加密货币交易自动化
- 市场数据分析
- 账户管理
工具列表
需要 API 认证的工具(私有)
fetch_account_balance
:获取当前账户余额。fetch_deposit_address
:获取货币的存款地址。withdraw_cryptocurrency
:将加密货币提取到指定地址。fetch_open_positions
:获取未平仓头寸(主要用于期货/衍生品)。set_trading_leverage
:设置交易符号的杠杆(主要用于期货)。create_spot_limit_order
:创建新的现货限价订单。create_spot_market_order
:创建新的现货市价订单。create_futures_limit_order
:创建新的期货限价订单。create_futures_market_order
:创建新的期货市价订单。cancel_order
:取消现有的未成交订单。fetch_order_history
:获取订单历史(未成交/已成交)。fetch_my_trade_history
:获取用户执行的交易历史。
公共数据工具(无需认证)
fetch_ohlcv
:获取历史 OHLCV(蜡烛图)数据。fetch_funding_rate
:获取永续合约的资金费率。fetch_long_short_ratio
:获取多空比率(需要交易所特定的params
)。fetch_option_contract_data
:获取期权合约的市场数据。fetch_market_ticker
:获取符号的最新价格 ticker 数据。fetch_public_market_trades
:获取符号的最近公共交易。
常见问题解答
- 期货/期权:使用与期货或期权相关的工具时,确保通过
params
参数正确配置 CCXT 客户端,特别是传递{'options': {'defaultType': 'future'}}
(或'swap'
、'option'
,根据需要)如果交易所需要或不默认到所需的市场类型。 fetch_long_short_ratio
:这不是标准的 CCXT 统一方法。您必须在params
参数中提供特定的交易所方法名称及其参数。- 错误处理:如果在 CCXT 调用期间出现问题,工具会返回一个包含
"error"
键的字典。
使用教程
使用依赖
-
克隆仓库(如果尚未克隆)
bash git clone <your-repo-url> # 替换为您的仓库 URL cd ccxt-mcp-server
-
创建并激活虚拟环境(推荐)
bash python -m venv .venv source .venv/bin/activate # 在 Windows 上使用 `.venv\Scripts\activate`
-
安装依赖 所需的库列在
requirements.txt
中。您可以使用pip
或uv
安装它们。- 使用
pip
bash pip install -r requirements.txt
- 使用
uv
(如果已安装)bash uv pip install -r requirements.txt # 或者,如果您喜欢 uv 的环境管理: # uv sync
- 使用
安装教程
- 按照上述步骤安装依赖。
- 运行 MCP 服务器:
bash python mcp_server.py
调试方式
- 确保服务器已启动并运行。
- 检查服务器输出日志,确认没有错误信息。
- 使用 MCP 客户端连接服务器,测试工具功能。