MT5 Custom MCP サーバー — Claude Code から MetaTrader 5 を直接操作

Development

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ツールによる自動発注は、まずデモ口座での十分な動作確認を強く推奨します。