CCXT MCP Server について
CCXT MCP Serverは、CCXTの暗号資産取引所機能を、LLMや開発者向けの非同期ツールとして提供します。公開市場データと、認証が必要な口座・取引操作を分けて扱います。
主な機能
- 01公開市場データの取得
- 02残高、ポジション、注文履歴の確認
- 03現物・先物注文の作成と取消
- 04API認証情報によるプライベートエンドポイント認証
- 05OHLCVデータから指標を計算
活用シーン
- 01暗号資産の価格やローソク足履歴を取得
- 02口座残高と未決済ポジションを確認
- 03取引所に注文を出す、または取り消す
- 04市場データからテクニカル指標を計算
MCP 対応
CCXTの取引所機能をMCPクライアント向けのツールとして提供し、公開データ操作と認証が必要な操作を分けています。プライベートエンドポイントはAPI key、secret、passphraseによる認証に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
CCXT MCP Server
このプロジェクトは、CCXTライブラリのさまざまな関数をLLMのツールとして公開する、Model Context Protocol(MCP)サーバーを提供します。
LLMが、残高や市場データの取得、注文の作成などのタスクで、標準化された非同期の方法により暗号資産取引所とやり取りできるようにします。
このサーバーはFastMCPを使用して構築されており、PythonでMCPサーバーを作成するプロセスを簡素化します。
特長
- CCXTとの連携:取引所とのやり取りに使用する一般的なCCXT関数をラップします。
- 非同期処理:効率的なノンブロッキング処理を実現するため、
asyncioとccxt.async_supportを使用して構築されています。 - 明確なツール定義:
typing.Annotatedとpydantic.Fieldを使用して、パラメーターの説明と制約を明確に定義することで、LLM(および開発者)がツールを理解し、使用しやすくします。 - 認証処理:プライベートエンドポイントでのAPIキー、シークレット、パスフレーズによる認証をサポートします。
- パブリックツールとプライベートツール:公開市場データ用とプライベートなアカウント操作用に、個別のツールを提供します。
インストール
-
リポジトリをクローンします(まだの場合):
git clone https://github.com/jcwleo/ccxt-mcp-server.git cd ccxt-mcp-server -
仮想環境を作成して有効化します(推奨):
python -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate` -
依存関係をインストールします: 必要なライブラリは
requirements.txtに記載されています。pipまたはuvを使ってインストールできます。pipを使用する場合:pip install -r requirements.txtuvを使用する場合(インストール済みの場合):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クライアント向け)
Claudeデスクトップアプリのように、手動でサーバー設定が必要なMCPクライアントを使用する場合は、次の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"キーを含む辞書を返します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。