CCXT MCP Server について
CCXT MCP Server は、CCXT ライブラリを基に 100 以上の暗号資産取引所 API へ MCP 経由でアクセスできるようにするサーバーです。相場取得、注文、取引分析を LLM アシスタントに任せたいユーザー向けです。
主な機能
- 01相場、板情報、過去の OHLCV データの取得
- 02成行注文と指値注文の作成、残高と注文の確認
- 03取引パフォーマンス分析と勝率の算出
- 04ポジションサイズと先物レバレッジの設定
- 05損切り、利確、損失上限のリスク管理
活用シーン
- 01AI アシスタントによる複数取引所の価格比較
- 02直近 7 日や 30 日の取引記録の分析
- 03資金比率に基づく先物ポジションの建玉と損切り設定
MCP 対応
このサーバーは相場、取引、分析の機能をツールとして MCP クライアントに公開し、CCXT 経由で取引所 API を呼び出します。HTTP+SSE モードでは Bearer トークンが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
20掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| exchangeId | string | はい | 取引所 ID(例:'binance'、'coinbase') |
詳細
CCXT MCP サーバー
CCXT MCP サーバーは、Model Context Protocol (MCP)を介して、AI モデルが暗号資産取引所の API と連携できるようにするサーバーです。このサーバーはCCXT ライブラリを使用して、100 を超える暗号資産取引所とその取引機能へのアクセスを提供します。
🚀 クイックスタート
# Install the package globally
npm install -g @lazydino/ccxt-mcp
# Run with default settings
ccxt-mcp
# or run without installation
npx @lazydino/ccxt-mcp
インストールと使用方法
グローバルインストール
# Install the package globally
npm install -g @lazydino/ccxt-mcp
npx での実行
インストールせずに直接実行できます。
# Using default settings
npx @lazydino/ccxt-mcp
# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/config.json
ヘルプを表示します。
npx @lazydino/ccxt-mcp --help
設定
Claude Desktop で MCP サーバーを登録する
-
Claude Desktop の設定を開きます:
- Claude Desktop アプリの設定メニューを開きます
- 「MCP Servers」セクションを探します
-
新しい MCP サーバーを追加します:
- 「Add Server」ボタンをクリックします
- サーバー名:
ccxt-mcp - コマンド:
npx @lazydino/ccxt-mcp - 追加の引数(任意):
--config /path/to/config.json
-
サーバーを保存してテストします:
- 設定を保存します
- 「Test Connection」ボタンで接続をテストします
設定方法 - 2 つの選択肢
オプション 1:Claude Desktop の設定にアカウント情報を直接含める(基本的な方法)
この方法では、CCXT アカウント情報を Claude Desktop の設定ファイル(claude_desktop_config.json)に直接含めます。
{
"mcpServers": {
"ccxt-mcp": {
"command": "npx",
"args": ["-y", "@lazydino/ccxt-mcp"],
"mcpBearerToken": "YOUR_MCP_TOKEN",
"accounts": [
{
"name": "bybit_main",
"exchangeId": "bybit",
"apiKey": "YOUR_API_KEY",
"secret": "YOUR_SECRET_KEY",
"defaultType": "spot"
},
{
"name": "bybit_futures",
"exchangeId": "bybit",
"apiKey": "YOUR_API_KEY",
"secret": "YOUR_SECRET_KEY",
"defaultType": "swap"
}
]
}
}
}
この方法では、別の設定ファイルは必要ありません。すべての設定が Claude Desktop の設定ファイルに統合されます。
オプション 2:別の設定ファイルを使用する(高度な方法)
アカウント情報を別の設定ファイルに分けるには、次のように設定します。
- 別の設定ファイルを作成します(例:
ccxt-config.json)。
{
"mcpBearerToken": "YOUR_MCP_TOKEN",
"accounts": [
{
"name": "bybit_main",
"exchangeId": "bybit",
"apiKey": "YOUR_API_KEY",
"secret": "YOUR_SECRET_KEY",
"defaultType": "spot"
},
{
"name": "bybit_futures",
"exchangeId": "bybit",
"apiKey": "YOUR_API_KEY",
"secret": "YOUR_SECRET_KEY",
"defaultType": "swap"
}
]
}
重要:設定ファイルには、上記のようにルートレベルに
accounts配列を含める必要があります。
重要:HTTP+SSE モード(
--sse)でサーバーを実行する場合は、同じ設定ファイルにmcpBearerTokenを設定してください。クライアントはリクエストでAuthorization: Bearer <mcpBearerToken>を送信する必要があります。
- Claude Desktop の設定で設定ファイルのパスを指定します。
{
"mcpServers": {
"ccxt-mcp": {
"command": "npx",
"args": [
"-y",
"@lazydino/ccxt-mcp",
"--config",
"/path/to/ccxt-config.json"
]
}
}
}
注:
--configオプションで別の設定ファイルを使用する場合、サーバーはmcpServers.ccxt-mcp.accountsのパスではなく、JSON ファイルのルートにあるaccounts配列を直接参照します。
- コマンドラインから外部設定ファイルを指定して実行します。
# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/ccxt-config.json
リポジトリ内の config/ccxt-config.example.json で設定ファイルの例を確認できます。
別の設定ファイルを使用する理由:
- 再帰参照の問題を防止できます
- API キーなどの機密情報を分離できます
- 複数環境(開発、テスト、本番)の設定が簡単になります
- 設定ファイルのバージョン管理が改善されます
主な機能
-
市場情報の取得:
- 取引所の一覧表示
- 取引所ごとの市場情報の表示
- 特定のシンボルの価格情報の取得
- 特定のシンボルのオーダーブック情報の表示
- 過去のOHLCVデータの検索
-
取引機能:
- 成行注文/指値注文の作成
- 注文のキャンセルとステータスの確認
- 口座残高の表示
- 取引履歴の確認
-
取引分析:
- 日次/週次/月次のパフォーマンス分析
- 勝率の計算(直近7日間、30日間、全期間)
- 平均損益比率(Rマルチプル)
- 最大連続損失/利益の分析
- 資産の変動追跡
- 包括的なパフォーマンス指標
- 取引パターンの認識
- 期間別リターンの計算
-
ポジション管理:
- 資金比率に基づく取引(例:口座資金の5%でエントリー)
- 先物市場のレバレッジ設定(1~100倍)
- 動的なポジションサイズ調整(ボラティリティに基づく)
- 分割買い/売り戦略の実行
-
リスク管理:
- テクニカル指標に基づく損切り設定(例:5分足の10本のローソク足のうち最安値)
- ボラティリティに基づく損切り/利確(ATRの倍数)
- 最大許容損失額の上限(日次/週次)
- 動的な利確設定(トレーリング利確)
仕組み
User <--> AI Model(Claude/GPT) <--> MCP Protocol <--> CCXT MCP Server <--> Cryptocurrency Exchange API
- ユーザー:「ビットコインの価格を教えて」や「BinanceのアカウントでEthereumを買って」などのリクエストを送ります
- AIモデル:ユーザーのリクエストを理解し、使用するMCPツール/リソースを判断します
- MCPプロトコル:AIとCCXT MCP サーバー間の標準化された通信を行います
- CCXT MCP サーバー:CCXTライブラリを使用して、暗号資産取引所のAPIと通信します
- 取引所API:実際のデータを提供し、取引注文を実行します
AIモデルでの使用
Claude Desktopに登録すると、AIモデルに次のようなリクエストを送信できます。
注意事項と推奨プロンプト
AIモデルを使用する際は、次の注意事項を確認し、効果的な取引のために以下のプロンプトを使用してください。
Your goal is to execute trades using the ccxt tools as much as possible
Cautions:
- Accurately identify whether it's a futures market or spot market before proceeding with trades
- If there's no instruction about percentage of capital or amount to use, always calculate and execute trades using the entire available capital
注意事項:
- AIモデルは、先物取引と現物取引を混同することがあります。
- 取引資金の額を明確に指定しないと、AIが混乱する場合があります。
- 上記のプロンプトを使用すると、取引の意図を明確に伝えやすくなります。
基本的なクエリの例
Check and compare the current Bitcoin price on binance and coinbase.
高度な取引クエリの例
ポジション管理
Open a long position on BTC/USDT futures market in my Bybit account (bybit_futures) with 5% of capital using 10x leverage.
Enter based on moving average crossover strategy and set stop loss at the lowest point among the 12 most recent 5-minute candles.
パフォーマンス分析
Analyze my Binance account (bybit_main) trading records for the last 7 days and show me the win rate, average profit, and maximum consecutive losses.
詳細な取引分析
Analyze my trading performance on the bybit_futures account for BTC/USDT over the last 30 days. Calculate win rate, profit factor, and identify any patterns in my winning trades.
Show me the monthly returns for my bybit_main account over the past 90 days and identify my best and worst trading months.
Analyze my consecutive wins and losses on my bybit_futures account and tell me if I have any psychological patterns affecting my trading after losses.
開発
ソースからのビルド
# Clone repository
git clone https://github.com/lazy-dinosaur/ccxt-mcp.git
# Navigate to project directory
cd ccxt-mcp
# Install dependencies
npm install
# Build
npm run build
Docker
Docker Composeでビルドして実行する
- 設定ファイルを作成します:
cp config/ccxt-config.example.json config/ccxt-config.json
次に、config/ccxt-config.jsonに実際のAPIキーを入力します。
同じ設定ファイルでmcpBearerTokenも設定します。
2. イメージをビルドします:
docker compose build
- MCP サーバーをバックグラウンドで起動します(SSEモード、localhost:2298):
docker compose up -d
- ローカルのヘルスエンドポイントを確認します:
curl -H "Authorization: Bearer YOUR_MCP_TOKEN" http://127.0.0.1:2298/healthz
このCompose設定では、リバースプロキシ用にlocalhost:2298でHTTP+SSE(/sse + /messages)経由のMCPを実行します。
リモートMCPクライアントの設定
MCPクライアントが別のホストで実行されている場合は、このマシンでNginxリバースプロキシを使用します。
ccxt-mcp.nginxをNginxの設定ファイルの配置先にコピーし、証明書のパスを更新します:
sudo cp ccxt-mcp.nginx /etc/nginx/conf.d/ccxt-mcp.conf
/etc/nginx/conf.d/ccxt-mcp.confを編集し、次の項目を設定します:
ssl_certificatessl_certificate_key- Authorizationヘッダーの転送(このファイルにすでに含まれています)
- Nginxを再読み込みします:
sudo nginx -t && sudo systemctl reload nginx
- MCPクライアントで、MCPサーバーのURLにTLSエンドポイントを設定します:
- SSE URL:
https://YOUR_HOSTNAME_OR_IP:42299/sse - Messages URL:
https://YOUR_HOSTNAME_OR_IP:42299/messages - ヘッダー:
Authorization: Bearer YOUR_MCP_TOKEN
強度の高いトークンは、次のコマンドで生成できます:
openssl rand -hex 32
設定例:
{
"mcpBearerToken": "YOUR_MCP_TOKEN",
"accounts": [
{
"name": "bybit_main",
"exchangeId": "bybit",
"apiKey": "YOUR_API_KEY",
"secret": "YOUR_SECRET_KEY"
}
]
}
ポートに関する注意:
42298はHTTP(リダイレクト専用)です42299はHTTPSです2298は、電話のキーパッドでCCXTを入力したときの数字です
MCPクライアントでURL設定ではなくコマンドベースのMCPサーバーを使用できる場合は、ccxt-mcpを次のように設定します:
- コマンド:
docker - 引数:
[
"run",
"--rm",
"-i",
"-p",
"127.0.0.1:2298:2298",
"-v",
"/absolute/path/to/ccxt-mcp/config/ccxt-config.json:/config/ccxt-config.json:ro",
"ccxt-mcp:local",
"--sse",
"--host",
"0.0.0.0",
"--port",
"2298",
"--config",
"/config/ccxt-config.json"
]
最初にdocker compose buildでイメージをビルドしてください。
🤝 コントリビューション
コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
📄 ライセンス
MIT ライセンスの下で配布されています。詳細については LICENSE ファイルをご覧ください。
❤️ サポート
このプロジェクトが役に立った場合は、GitHub で ⭐️ を付けていただけると幸いです!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。