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を計算して」 → テクニカル指標を分析

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

✨ 機能

取引操作

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

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

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

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

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

市場データと分析

  • ヒストリカルデータ - 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 を実行して、上記の手順に従ってください!

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/akinabudu/ctrader-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server