mcpField
C
CCXT MCP Server

CCXT MCP Server

本地服务
github.com/jcwleo金融数据875 周前更新

关于 CCXT MCP Server

CCXT MCP Server 将 CCXT 加密货币交易所操作封装为供大模型和开发者使用的异步工具。它将公开市场数据与需认证的账户及交易操作分开提供。

主要功能

  1. 01获取公开市场数据
  2. 02查询余额、持仓和订单历史
  3. 03创建或取消现货及期货订单
  4. 04使用 API 凭据认证私有端点
  5. 05根据 OHLCV 数据计算指标

适用场景

  1. 01查询加密货币价格和 K 线历史
  2. 02查看账户余额与未平仓头寸
  3. 03提交或取消交易所订单
  4. 04根据市场数据计算技术指标

MCP 相关

该 MCP 服务将 CCXT 交易所功能作为工具提供给 MCP 客户端,并区分公开数据操作和需认证操作。私有端点支持 API key、secret 和 passphrase 认证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CCXT MCP 服务

smithery badge

本项目提供一个模型上下文协议(MCP)服务,将 CCXT 库中的各种函数作为工具提供给大模型(LLM)。

它支持大模型以标准化的异步方式与加密货币交易所交互,执行获取余额、市场数据、创建订单等任务。

此服务使用 FastMCP 构建,简化了在 Python 中创建 MCP 服务的流程。

功能

  • CCXT 集成:封装常用的 CCXT 函数,用于与交易所交互。
  • 异步:使用 asyncio 和 ccxt.async_support 构建,可高效执行非阻塞操作。
  • 清晰的工具定义:使用 typing.Annotated 和 pydantic.Field 清晰地描述参数及其限制,让大模型(和开发者)更容易理解和使用这些工具。
  • 身份验证处理:支持私有端点所需的 API 密钥、密钥和密码短语身份验证。
  • 公开和私有工具:分别提供用于公开市场数据和私有账户操作的工具。

安装

  1. 克隆仓库(如果尚未克隆):

    git clone https://github.com/jcwleo/ccxt-mcp-server.git
    cd ccxt-mcp-server
    
  2. 创建并激活虚拟环境(建议):

    python -m venv .venv
    source .venv/bin/activate # On Windows use `.venv\Scripts\activate`
    
  3. 安装依赖项: 所需的库列在 requirements.txt 中。你可以使用 pip 或 uv 安装。

    • 使用 pip:
      pip install -r requirements.txt
      
    • 使用 uv(如果已安装):
      uv pip install -r requirements.txt
      # Or, if you prefer uv's environment management:
      # uv sync
      

运行服务

安装依赖项后,你可以直接运行 MCP 服务:

uv run uvicorn mcp_server:app

你应该会看到类似以下内容的输出,表明服务已启动:

Starting CCXT MCP Server (Async with Annotated Params and Tool Metadata)...
# ... (FastMCP server startup logs)

随后,MCP 客户端便可连接到此服务(通常使用 FastMCP 管理的默认端口,除非另行配置)。

MCP 服务配置(适用于 MCP 客户端)

如果你使用的 MCP 客户端需要手动配置服务(例如 Claude 桌面应用),则需要提供类似以下内容的配置 JSON。

创建一个 claude_desktop_config.json 文件(或适用于你的 MCP 客户端的等效文件),并使用以下结构:

{
  "mcpServers": {
    "ccxt-mcp-server": {
      "command": "npx",
      "args": ["mcp-remote", "http://127.0.0.1:8000/mcp/"]
    }
  }
}

此配置会告知 MCP 客户端如何启动 CCXT MCP 服务并与其通信。

可用的 MCP 工具

此服务提供以下工具,并按是否需要 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:获取某个交易对的最新价格行情数据。
  • fetch_public_market_trades:获取某个交易对的近期公开交易记录。
  • calculate_technical_indicator_tool:获取 OHLCV 数据并计算指定的技术指标(例如 RSI、SMA、EMA、MACD、布林带、随机振荡指标、平均真实波幅(ATR))。

得益于 Annotated 和 pydantic.Field 的使用,每个工具的详细参数说明都可通过 MCP 协议本身获取。

使用说明

  • 期货/期权:使用与期货或期权相关的工具(例如 fetch_open_positions、create_futures_limit_order、fetch_funding_rate)时,请确保通过 params 参数正确配置 CCXT 客户端,具体而言,如果交易所要求或默认的市场类型不是所需类型,则传入 {'options': {'defaultType': 'future'}}(或根据需要传入 'swap'、'option')。
  • fetch_long_short_ratio:这不是 CCXT 标准的统一方法。你必须在 params 参数中提供特定的交易所方法名称及其参数(例如,对于 Binance 期货,传入 params={'method_name': 'fapiPublicGetGlobalLongShortAccountRatio', 'method_params': {'symbol': 'BTCUSDT', 'period': '5m'}})。
  • 错误处理:如果 CCXT 调用期间发生问题,工具会返回一个包含 "error" 键的字典。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。