Codex CCXT MCP について
Codex CCXT MCPは、CCXT経由で取引所の市場、口座、取引機能をCodexに公開する独立したstdio MCPサーバーです。取引は初期状態で無効、dry-runは有効で、実取引には両設定の明示的な変更が必要です。
主な機能
- 01市場・取引所ステータスの照会
- 02口座、残高、ポジション、台帳の照会
- 03注文・条件付き注文の管理
- 04デリバティブと資金調達率のデータ
- 05dry-runを初期設定とする取引保護
- 06プロキシ対応と外向きIPの確認
活用シーン
- 01取引所の市場情報と口座ポジションの確認
- 02注文や口座変更操作のテスト
- 03デリバティブ金利とロング・ショート指標の照会
MCP 対応
stdio MCPサーバーとして、CCXTの取引所機能をCodexに公開します。変更操作は取引スイッチと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ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ccxt-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"]
}
}
}
ツール一覧
現在、明示的に登録されている MCP ツールは 101 個です。また、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 のクローズポジション保護注文では、同じ契約、同じ方向、同じポジション方向の重複する
STOP_MARKET / TAKE_PROFIT_MARKET アルゴ注文はデフォルトでスキップされます。既存の保護注文を置き換える場合は、作成リクエストの
params に replaceExistingClosePosition: true を明示的に指定してください。ツールは一致する古いアルゴ注文を先にキャンセルしてから、
新しいクローズポジション保護注文を送信し、キャンセル結果と新しい注文の結果を返します。
Binance USDT-M の保護付きエントリーには、ccxt_create_protected_futures_entry の使用を推奨します。このツールはクローズポジションの損切り・利確アルゴ保護注文を先に送信してから、エントリー注文を送信します。保護注文またはエントリー注文のいずれかの作成に失敗した場合は、すでに受け付けられた保護注文をキャンセルし、失敗した段階を返します。Binance futures で
ccxt_create_order_with_take_profit_and_stop_loss を呼び出した場合も、サーバー側で同じ保護注文優先の経路が自動的に使用されるため、CCXT が現在サポートしていない
createOrderWithTakeProfitAndStopLoss への直接呼び出しを回避できます。
Binance USDT-M のヘッジモードでは、positionSide=LONG / SHORT をクローズする通常注文に reduceOnly パラメーターを付けて取引所に送信してはいけません。サーバーは通常の注文ツールからこのパラメーターを自動的に削除します。この状況での
ccxt_create_reduce_only_order は、positionSide を保持したまま createOrder を使用するため、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
すべての状態変更ツールは取引スイッチを通過します。デフォルトではドライランの結果が返され、注文、キャンセル、レバレッジ変更、資金移動、出金などの操作は実際にはリクエストされません。
連絡先
- WeChat:
mypcwza - Telegram:
mypcwza
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。