关于 Codex CCXT MCP
Codex CCXT MCP 是通过 CCXT 向 Codex 提供交易所行情、账户和交易操作的独立 stdio MCP 服务。交易默认关闭并启用 dry-run,真实交易需同时显式开启两个开关。
主要功能
- 01行情与交易所状态查询
- 02账户、余额、持仓和账本查询
- 03订单及条件单管理
- 04衍生品与资金费率数据
- 05默认 dry-run 的交易保护
- 06支持代理与出口 IP 检查
适用场景
- 01查看交易所行情和账户持仓
- 02测试订单及账户变更操作
- 03查询合约费率与多空情绪数据
MCP 相关
它以 stdio MCP 服务形式向 Codex 暴露 CCXT 交易所能力。所有变更操作受交易开关和 dry-run 保护,真实交易必须显式启用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e BINANCE_API_KEY -e BINANCE_API_SECRET -e CCXT_EXCHANGE_ID -e CCXT_DEFAULT_TYPE -e CCXT_SANDBOX -e CCXT_ENABLE_TRADING -e CCXT_DRY_RUN ghcr.io/lucyfox199818-collab/ccxt-mcp:0.1.0BINANCE_API_KEY密钥Optional Binance API key for private account data and explicitly enabled trading.BINANCE_API_SECRET密钥Optional Binance API secret.CCXT_EXCHANGE_IDCCXT exchange identifier.CCXT_DEFAULT_TYPEDefault CCXT market type.CCXT_SANDBOXUse the exchange sandbox when supported.CCXT_ENABLE_TRADINGExplicit live-trading permission gate. Keep false for read-only and dry-run use.CCXT_DRY_RUNReturn simulated results for mutating tools instead of sending exchange actions.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/lucyfox199818-collab/ccxt-mcp:0.1.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEccxt-mcp
ccxt-mcp 是一个独立的 MCP stdio 服务,用 CCXT 暴露加密货币交易所能力给 Codex 调用。默认交易关闭并启用 dry-run;需要真实下单时必须同时设置 CCXT_ENABLE_TRADING=true 和 CCXT_DRY_RUN=false。
MCP Registry 名称:io.github.lucyfox199818-collab/ccxt-mcp
公开 OCI 镜像:ghcr.io/lucyfox199818-collab/ccxt-mcp:0.1.0
功能
- 市场数据:markets、ticker、tickers、ticker summary、order book、trades、OHLCV、交易所状态、交易所时间、币种、手续费。
- 账户信息:accounts、balance/free/used/total balance、positions、ledger、my trades、充值/提现记录、充值地址、杠杆档位。
- 订单交易:普通下单/批量下单、查询订单、查询全部订单、编辑订单、撤单、批量撤单、全部撤单。
- 条件单和衍生品交易:trigger、stop loss、take profit、stop order、stop limit、stop market、trailing、post-only、reduce-only、TP/SL 组合单。
- 合约/资金费率:funding rate/history、open interest/history、mark price、mark/index/premium index OHLCV。
- Binance USDT-M 公共衍生品情绪数据:open-interest history、global long/short、top trader account/position long/short、taker buy/sell volume,均为只读免费公开数据端点。
- 账户变更:set leverage、margin mode、position mode、add/reduce/set margin、transfer、withdraw,全部走交易开关和 dry-run 保护。
- 通用能力:
ccxt_call可以调用当前交易所实例上存在的任意 CCXT 方法,包含 unified API 和 exchange-specific implicit API。 - 代理/IP:支持
TRADINGAGENTS_PROXY_URL或CCXT_PROXY_URL,并提供ccxt_proxy_ip检查当前出口 IP 是否命中配置的白名单 IP。 - Docker:支持构建成独立镜像,通过 stdio 运行 MCP。
环境变量
| 变量 | 说明 |
|---|---|
TRADINGAGENTS_PROXY_URL / CCXT_PROXY_URL | HTTP、HTTPS、SOCKS4 或 SOCKS5 代理 URL。 |
BINANCE_API_KEY / CCXT_API_KEY | API key。 |
BINANCE_API_SECRET / CCXT_SECRET / CCXT_API_SECRET | API secret。 |
CCXT_EXCHANGE_ID | CCXT 交易所 ID,默认 binance。 |
CCXT_DEFAULT_TYPE | Binance 常用市场类型,例如 spot、future、swap。 |
CCXT_SANDBOX | 是否开启交易所 sandbox/testnet。 |
CCXT_ENABLE_TRADING | 是否允许真实交易类调用,默认 false。 |
CCXT_DRY_RUN | 是否强制 dry-run,默认 true。 |
CCXT_WHITELIST_IPS / BINANCE_WHITELIST_IPS | 逗号分隔的预期出口 IP,用于 ccxt_proxy_ip 对比。 |
CCXT_IP_CHECK_URL | 出口 IP 检查地址,默认 https://api.ipify.org?format=json。 |
本地运行
cd ccxt-mcp
npm install
npm run build
node dist/index.js
Codex MCP stdio 配置示例:
{
"mcpServers": {
"ccxt": {
"command": "node",
"args": ["/home/adon/codes/codex-binance-agent/ccxt-mcp/dist/index.js"],
"cwd": "/home/adon/codes/codex-binance-agent/ccxt-mcp"
}
}
}
Docker
直接运行公开镜像:
docker run --rm -i \
-e CCXT_ENABLE_TRADING=false \
-e CCXT_DRY_RUN=true \
ghcr.io/lucyfox199818-collab/ccxt-mcp:0.1.0
或从源码构建:
cd ccxt-mcp
docker build -t ccxt-mcp:local .
docker run --rm -i --env-file .env ccxt-mcp:local
Docker MCP stdio 配置示例:
{
"mcpServers": {
"ccxt": {
"command": "docker",
"args": ["run", "--rm", "-i", "--env-file", "/home/adon/codes/codex-binance-agent/ccxt-mcp/.env", "ccxt-mcp:local"]
}
}
}
工具列表
当前显式注册 101 个 MCP tools;此外 ccxt_call 可以调用当前交易所实例上存在的任意 CCXT 方法。
基础和市场数据:
ccxt_get_configccxt_list_exchangesccxt_exchange_infoccxt_proxy_ipccxt_load_marketsccxt_fetch_currenciesccxt_fetch_statusccxt_fetch_timeccxt_fetch_tickerccxt_fetch_tickersccxt_fetch_ticker_summaryccxt_fetch_order_bookccxt_fetch_tradesccxt_fetch_ohlcvccxt_fetch_trading_feesccxt_fetch_trading_feeccxt_fetch_deposit_withdraw_feesccxt_fetch_deposit_withdraw_feeccxt_call
账户信息:
ccxt_fetch_accountsccxt_fetch_balanceccxt_fetch_free_balanceccxt_fetch_used_balanceccxt_fetch_total_balanceccxt_fetch_positionsccxt_fetch_positions_for_symbolccxt_fetch_positions_riskccxt_fetch_positions_historyccxt_fetch_leverageccxt_fetch_leveragesccxt_fetch_leverage_tiersccxt_fetch_market_leverage_tiersccxt_fetch_ledgerccxt_fetch_ledger_entryccxt_fetch_my_tradesccxt_fetch_order_tradesccxt_fetch_deposit_addressccxt_fetch_deposit_addressesccxt_fetch_deposit_addresses_by_networkccxt_fetch_depositsccxt_fetch_withdrawalsccxt_fetch_deposits_withdrawalsccxt_fetch_borrow_interest
订单和条件单:
ccxt_fetch_orderccxt_fetch_ordersccxt_fetch_open_ordersccxt_fetch_open_algo_ordersccxt_cancel_algo_orderccxt_cancel_all_algo_ordersccxt_fetch_closed_ordersccxt_fetch_canceled_ordersccxt_fetch_canceled_and_closed_ordersccxt_create_orderccxt_create_ordersccxt_edit_orderccxt_edit_ordersccxt_cancel_orderccxt_cancel_ordersccxt_cancel_all_ordersccxt_cancel_all_orders_afterccxt_cancel_orders_for_symbolsccxt_create_limit_orderccxt_create_market_orderccxt_create_trigger_orderccxt_create_stop_loss_orderccxt_create_take_profit_orderccxt_create_protected_futures_entryccxt_create_order_with_take_profit_and_stop_lossccxt_create_trailing_amount_orderccxt_create_trailing_percent_orderccxt_create_stop_orderccxt_create_stop_limit_orderccxt_create_stop_market_orderccxt_create_post_only_orderccxt_create_reduce_only_order
Binance USDT-M close-position 保护单默认会跳过同合约、同方向、同仓位方向的重复
STOP_MARKET / TAKE_PROFIT_MARKET algo 单。需要替换已有保护单时,在创建请求的
params 里显式传 replaceExistingClosePosition: true;工具会先取消匹配的旧 algo 单,
再提交新的 close-position 保护单,并返回撤单和新单结果。
Binance USDT-M protected entry 应优先使用 ccxt_create_protected_futures_entry。该工具会先提交
close-position 止损和止盈 algo 保护单,再提交入场单;如果任一保护单或入场单创建失败,会撤销已经
接受的保护单并返回失败阶段。对 Binance futures 调用
ccxt_create_order_with_take_profit_and_stop_loss 时,服务端也会自动走同一条保护优先路径,避免直通
CCXT 当前不支持的 createOrderWithTakeProfitAndStopLoss。
Binance USDT-M hedge mode 下,关闭 positionSide=LONG / SHORT 的普通订单不应向交易所提交
reduceOnly 参数。服务端会在普通下单工具里自动移除该参数;ccxt_create_reduce_only_order 在此场景下
会改走 createOrder 并保留 positionSide,避免 Binance 返回 -1106 Parameter 'reduceonly' sent when not required。
合约和账户变更:
ccxt_fetch_funding_rateccxt_fetch_funding_ratesccxt_fetch_funding_rate_historyccxt_fetch_funding_historyccxt_fetch_open_interestccxt_fetch_open_interestsccxt_fetch_open_interest_historyccxt_fetch_binance_derivatives_sentimentccxt_fetch_binance_global_long_short_account_ratioccxt_fetch_binance_top_long_short_account_ratioccxt_fetch_binance_top_long_short_position_ratioccxt_fetch_binance_taker_long_short_ratioccxt_fetch_binance_open_interest_histccxt_fetch_mark_priceccxt_fetch_mark_pricesccxt_fetch_mark_ohlcvccxt_fetch_index_ohlcvccxt_fetch_premium_index_ohlcvccxt_set_leverageccxt_set_margin_modeccxt_set_position_modeccxt_add_marginccxt_reduce_marginccxt_set_marginccxt_transferccxt_withdraw
所有 mutating 工具都会经过交易开关。默认返回 dry-run,不会真实请求下单、撤单、改杠杆、划转或提现类操作。
联系方式
- 微信:
mypcwza - Telegram:
mypcwza
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。