Anthropic が公開している Model Context Protocol(MCP)に準拠した、MetaTrader 5(MT5)操作専用の Custom MCP サーバーです。Claude Code・Claude Desktop 等の MCP クライアントから、自然言語で MT5 の口座状況を確認したり、注文を発行したりできます。
動機
- Claude Code でチャート分析や戦略検討をすることが増えたが、最後の「発注」だけは人手に戻る不便さがあった
- 市販のEA・パネルは固定機能で、AIに合わせた柔軟な操作ができない
- MCP は外部ツールを LLM に標準化された形で繋げる規格として相性が良いと判断
提供しているツール(MCPツール)
- account_info:口座残高・証拠金・有効証拠金・余剰証拠金などの取得
- positions_list:保有ポジションの一覧(シンボル・ロット・建値・現在損益)
- market_data:指定通貨ペアの現在値・スプレッド・出来高
- order_market:成行注文(買い/売り、ロット指定、SL/TP指定可)
- order_pending:指値・逆指値の予約注文(pips 指定)
- close_position:個別決済 / 全決済 / 買いのみ/売りのみ決済
- diagnostics:MT5への接続診断・ログイン状態確認
- history:約定履歴の取得(期間指定)
これらを Claude Code から自然言語で呼び出せます。例:
- 「現在の口座状況を要約して」
- 「XAUUSDの買いポジションが含み損30pips超えてたら全決済して」
- 「USDJPYで0.1lotロングを入れて、SL30pips・TP60pipsで発注して」
設計の工夫
- 安全策:取引許可シンボル・最大ロット・最大同時ポジション数を環境変数で制御
- 観測性:構造化ログ(JSON)でツールコール履歴を記録、誤発注時の原因究明を容易に
- エラーハンドリング:MT5 側のエラーコードを MCP の人間可読メッセージに変換
- テスト容易性:mt5_client を抽象化し、ユニットテスト時はモックに差し替え可能
技術スタック
- Python 3.11
- Anthropic MCP SDK(Python)
- MetaTrader5 Python パッケージ
- FastMCP / 標準入出力経由のツール公開
- pytest でのテスト
動作環境
- Windows ローカル(MT5 がWindows専用のため)
- VPS でも動作可能(24時間稼働させたい場合)
- MT5 ターミナルを起動・ログイン状態にしておく必要があります
ご相談いただける範囲
- MT5 以外(cTrader / Interactive Brokers / 国内証券API 等)の Custom MCP サーバー開発
- 既存社内ツールの MCP 化(Claude Code から直接操作できる業務ツール化)
- Anthropic Prompt Caching を組み合わせた高速・低コスト運用設計
※ 取引はすべて自己責任でご利用ください。MCPツールによる自動発注は、まずデモ口座での十分な動作確認を強く推奨します。