Skip to main content
Glama
akinabudu

ctrader-mcp-server

by akinabudu

cTrader MCPサーバー

AIアシスタントがcTrader取引プラットフォームと対話できるようにする、スタンドアロンのModel Context Protocol (MCP) サーバーです。

🚀 これは何ですか?

このMCPサーバーを使用すると、ClaudeのようなAIアシスタントが、自然言語での会話を通じてcTrader上で取引の実行、市場分析、ポジション管理を行うことができます。

会話例:

  • 「口座残高を教えて」 → 残高、有効証拠金、ポジションを取得

  • 「EURUSDを0.01ロット買い、ストップを1.08に設定して」 → 取引を実行

  • 「GBPUSDのRSIを計算して」 → テクニカル指標を分析

  • 「損失が出ているポジションをすべて決済して」 → リスクを管理

Related MCP server: 3commas-mcp

✨ 機能

取引操作

  • 成行注文 - 現在の価格で即座に実行

  • 指値注文 - 特定の価格レベルで注文

  • 逆指値注文 - ストップロスまたはストップエントリー注文

  • ポジション管理 - ポジションの全決済または一部決済

  • 注文管理 - 未約定注文のキャンセル

市場データと分析

  • ヒストリカルデータ - OHLCVローソク足(9つの時間枠: M1, M5, M15, M30, H1, H4, D1, W1, MN1)

  • テクニカル指標 - RSI, MACD, EMA, SMA, ボリンジャーバンド, ATR, ストキャスティクス

  • リアルタイムティック - ライブ価格フィードを購読

  • シンボル検索 - 100以上の取引銘柄を閲覧

口座情報

  • 口座ステータス - 残高、有効証拠金、証拠金、余剰証拠金

  • ポジション追跡 - 損益を含むすべてのオープンポジション

  • 注文追跡 - すべての未約定注文

  • 損益分析 - 詳細な損益内訳

🎯 利用可能なツール(合計14個)

ツール

説明

get_account_status

残高、有効証拠金、証拠金、損益を表示

get_positions

すべてのオープンポジションを詳細付きで一覧表示

get_pending_orders

すべての未約定の指値/逆指値注文を表示

get_position_pnl

詳細な損益内訳を取得

create_market_order

現在の市場価格で取引を実行

create_limit_order

特定の価格で注文を配置

create_stop_order

ストップロスまたはストップエントリー注文を配置

close_position

ポジションを全決済または一部決済

cancel_order

未約定の注文をキャンセル

list_symbols

利用可能な取引銘柄を閲覧

get_historical_data

OHLCVローソク足データを取得

get_indicator

テクニカル指標を計算

subscribe_to_ticks

リアルタイム価格更新を購読

unsubscribe_from_ticks

価格更新の購読を解除

📋 前提条件

  • Python 3.10以上

  • cTrader口座(デモまたはライブ)

  • cTrader API認証情報

🔧 インストール

1. cTrader API認証情報の取得

  1. https://help.ctrader.com/open-api/creating-new-app/ にアクセス

  2. アプリケーションを作成して以下を取得:

    • CLIENT_ID

    • CLIENT_SECRET

  3. アクセストークンを生成:

    • ACCESS_TOKEN

  4. cTraderで口座IDを確認:

    • ACCOUNT_ID

2. サーバーのインストール

# Clone or download this repository
cd ctrader-mcp-server

# Run installation script
./install.sh

3. 認証情報の設定

プロジェクトルートに .env ファイルを作成します:

CLIENT_ID=your_client_id_here
CLIENT_SECRET=your_client_secret_here
ACCESS_TOKEN=your_access_token_here
ACCOUNT_ID=your_account_id_here
HOST=demo

重要: テストには HOST=demo を使用してください!

4. サーバーのテスト

# Activate virtual environment
source venv/bin/activate

# Run tests
python test_server.py

以下のように表示されるはずです:

✓ Bot initialized and authenticated
✓ Account status retrieved
✓ Found X EUR symbols
...
All Tests Completed Successfully! ✓

🤖 AIアシスタントの設定

Claude Desktop

  1. 設定ファイルを見つける:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. 以下の設定を追加:

{
  "mcpServers": {
    "ctrader": {
      "command": "/absolute/path/to/ctrader-mcp-server/venv/bin/python",
      "args": [
        "/absolute/path/to/ctrader-mcp-server/server.py"
      ],
      "cwd": "/absolute/path/to/ctrader-mcp-server"
    }
  }
}
  1. Claude Desktopを再起動

その他のMCPクライアント

このサーバーは標準のMCPプロトコルを実装しており、MCP互換クライアントであればどれでも動作するはずです。

💬 会話例

設定が完了すると、自然にやり取りできます:

口座確認:

ユーザー: 「cTrader口座にいくら入っていますか?」

AI: 「口座残高は10,000ドル、有効証拠金は10,250ドルです。3つのオープンポジションがあり、合計損益は+250ドルです。」

取引実行:

ユーザー: 「EURUSDを0.01ロット買い、ストップロスを1.08、テイクプロフィットを1.10に設定して」

AI: 「注文を実行しました!EURUSDを1.09245で0.01ロット購入しました。ストップロスは1.08000、テイクプロフィットは1.10000です。」

市場分析:

ユーザー: 「15分足チャートでGBPUSDのRSIを計算して」

AI: 「M15におけるGBPUSDのRSI(14)は現在65.3です。買われすぎの領域に近づいていることを示しています。」

リスク管理:

ユーザー: 「50ドル以上の損失が出ているポジションをすべて決済して」

AI: 「50ドル以上の損失が出ているポジションを1つ見つけました。GBPUSDのポジションを決済しました(損失: -62.50ドル)。」

📚 ドキュメント

🔐 セキュリティと安全性

デモ取引とライブ取引

  • デフォルト設定では デモ口座 を使用します

  • ライブ取引を行う場合は .env で明示的に HOST=live を設定してください

  • ライブ環境へ移行する前に、必ずデモ環境で十分にテストしてください

リスク管理

  • すべての注文でストップロスとテイクプロフィットをサポート

  • ポジション決済は一部または全決済が可能

  • ボリュームはロット単位で指定(0.01 = マイクロロット)

認証情報のセキュリティ

  • 認証情報は .env ファイルに保存(コミット禁止)

  • 環境変数はログに決して出力されません

  • 操作前に認証状態が検証されます

🚨 重要な警告

⚠️ 取引には重大なリスクが伴います。資金を失う可能性があります。 ⚠️ 必ず最初にデモ口座でテストしてください ⚠️ ライブ環境では小さなポジションから始めてください ⚠️ リスクを制限するためにストップロスを使用してください ⚠️ 認証情報やアクセストークンを他人に共有しないでください

🛠️ 開発

プロジェクト構造

ctrader-mcp-server/
├── server.py              # Main MCP server
├── ctrader_bot.py         # cTrader API wrapper
├── test_server.py         # Testing tool
├── install.sh             # Installation script
├── requirements.txt       # Python dependencies
├── .env.example           # Environment template
├── README.md              # This file
└── docs/                  # Documentation
    ├── QUICKSTART.md
    ├── GUIDE.md
    ├── ARCHITECTURE.md
    ├── CONFIGURATION.md
    └── API.md

テストの実行

# Basic functionality test
python test_server.py

# Run with specific account
ACCOUNT_ID=12345 python test_server.py

# Test with live account (careful!)
HOST=live python test_server.py

新しいツールの追加

新しいツールを追加するには:

  1. server.pyhandle_list_tools() にツール定義を追加

  2. _execute_tool() にハンドラーを実装

  3. 必要に応じて ctrader_bot.py に対応するメソッドを追加

  4. ドキュメントを更新

📊 パフォーマンス

  • 起動時間: 5-10秒(認証 + シンボル読み込み)

  • 注文実行: <100ms(成行注文)

  • ヒストリカルデータ: 1-5秒(100ローソク足)

  • 指標計算: <1秒

  • メモリ使用量: 約50-100 MB

🌐 レート制限

cTrader APIは以下を強制しています:

  • 取引操作: 50リクエスト/秒

  • ヒストリカルデータ: 5リクエスト/秒

サーバーは自動的にこれらの制限を遵守します。

🐛 トラブルシューティング

「Bot not ready」エラー

  • .env ファイルの認証情報を確認

  • インターネット接続を確認

  • cTrader口座が有効であることを確認

  • サーバーログで認証エラーを確認

シンボルが見つからない

  • list_symbols ツールを使用して利用可能なシンボルを確認

  • シンボル名は大文字と小文字を区別します

  • ブローカーによってシンボル名が異なる場合があります

注文が拒否された

  • 口座残高と証拠金を確認

  • シンボルが取引可能か確認

  • ボリュームが最小要件を満たしているか確認

  • 市場が開いているか確認

接続の問題

  • API認証情報が正しいか確認

  • 口座が有効か確認

  • ポート5035(デモ)または5034(ライブ)をブロックしているファイアウォールがないか確認

🔗 リソース

📄 ライセンス

MITライセンス - 詳細はLICENSEファイルを参照

⚖️ 免責事項

本ソフトウェアは「現状のまま」提供され、いかなる種類の保証もありません。取引には重大なリスクが伴い、資金を失う可能性があります。自己責任で使用してください。ライブ取引の前に必ずデモ口座でテストしてください。

🤝 貢献

貢献を歓迎します!以下の手順に従ってください:

  1. リポジトリをフォーク

  2. フィーチャーブランチを作成

  3. 変更を加える

  4. 該当する場合はテストを追加

  5. プルリクエストを送信

📧 サポート


アルゴリズムトレーダーのために愛を込めて作成されました

準備はいいですか? ./install.sh を実行して、上記の手順に従ってください!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.
    307 PyPI
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that integrates AI assistants with the 3Commas cryptocurrency trading platform API, enabling management of DCA bots and trading strategies through natural conversation.
    12
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that lets an AI agent read your MetaTrader 5 account and place trades over the Model Context Protocol, with a configurable human approval gate.
    15
    38 PyPI
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides AI assistants like Claude with direct access to MetaAPI trading platform. Trade forex, stocks, and commodities through natural language conversations.
    1
    -