MetaTrader 5 MCP Server & Distrobox Automation について
MetaTrader 5 を操作して Expert Advisor を最適化する MCP サーバーで、Distrobox コンテナ、Flask REST API、自動生成されるレポートを組み合わせています。EA の最適化を自動化し、結果を記録したいユーザーを想定しています。
主な機能
- 01Distrobox コンテナ内での MT5 の自動セットアップ
- 02最適化の開始と監視を行う Flask REST API
- 03取引と最適化の機能を公開する MCP サーバー
- 04HTML と Markdown の最適化レポート
- 05コードと設定の Git によるバージョン管理
活用シーン
- 01Expert Advisor のパラメータ最適化の自動化
- 02MCP クライアントからの最適化結果の取得
- 03複数の EA に対する最適化レポートの作成
MCP 対応
TypeScript で実装された MCP サーバーとして、口座情報の取得、注文の作成、最適化の実行・状態確認・結果取得などのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MetaTrader 5 MCP サーバー & Distrobox 自動化
このプロジェクトは、Distrobox コンテナ、Flask REST API、および MCP サーバーを使用して、MetaTrader 5 (MT5) のエキスパートアドバイザー (EA) を実行、最適化、およびドキュメント化するための完全に自動化されたワークフローを提供します。
機能
- Wine/Distrobox 内の MetaTrader 5: 自動セットアップと起動。
- Flask REST API: EA のプログラムによる最適化。実行、監視、結果の保存用のエンドポイントを備えています。
- MCP サーバー: 取引、最適化、および結果取得のための統一インターフェース。
- 自動ドキュメント生成: 最適化結果は、各 EA ごとに明確な HTML および Markdown レポートとして保存されます。
- Git バージョン管理: すべてのコードと設定は最初からバージョン管理されています。
クイックスタート
1. Distrobox コンテナのセットアップ
Distrobox コンテナを構築して入るには、プロジェクトルートから以下のコマンドを実行します:
distrobox-assemble create --file src/mt5.ini -R
distrobox-enter mt5
- 完全に自動化された Distrobox 設定については、
src/mt5.iniを参照してください。 - コンテナ作成時に、以下がインストールおよび設定されます:
- Wine、MT5、Python3、pip、Flask、MetaTrader5、pandas、jinja2、git、および必要なすべてのツール。
- Flask API が自動的に起動されます。
- git リポジトリが初期化され、すべてのファイルがコミットされます。
2. Flask REST API
src/mt5_flask_api.pyにあります。- API はホストから http://localhost:5000 でアクセスできます (ポート 5000 はデフォルトで公開されています。
src/mt5.iniを参照してください)。 - 例: ホストシステムから API をテストするには:
curl http://localhost:5000/optimization_status/some-id - エンドポイント:
POST /optimize: 最適化実行を開始します。GET /optimization_status/<id>: 最適化ステータスを確認します。GET /optimization_results/<id>: 結果を取得します。POST /save_results: 結果を HTML/Markdown/CSV/JSON として保存します。
- 結果は
~/mt5-dev/result/manual/tuning/<EA_NAME>_tuning.htmlおよび.mdに保存されます。
3. MCP サーバー
- MCP サーバーの実装については、
src/mt5-server.tsを参照してください。 - ツールには以下が含まれます:
- 取引操作 (get_account_info、create_order など)
- 最適化操作 (run_optimization、get_optimization_status、get_optimization_results、save_optimization_results)
4. 使用例
- コンテナを起動します (Distrobox がすべてのセットアップを実行し、Flask API を起動します)。
- MCP サーバーを使用して最適化をトリガーし、レポートを生成します。
~/mt5-dev/result/manual/tuning/内の HTML/Markdown レポートを開いて、明確な概要を確認します。
作業ディレクトリと設定
デフォルトでは、すべてのログ、データ、結果、および出力は、移植性と一貫性のために ~/mt5-dev に保存されます。
ローカル開発用に設定値を上書きするには、src/mt5.ini を src/mt5-dev.ini にコピーし、必要に応じてカスタマイズしてください。
src/mt5-dev.ini ファイルは git によって無視され、追跡またはプッシュされません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。