MCP server for MetaTrader 5 MetaEditor on Linux/Wine and Windows
Server has 7 tools with explicit schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention (list_, read_, write_, compile_, get_, run_). Descriptions are present but brief (avg ~80 chars, below 194-char baseline). Schemas use Zod with types and descriptions, but lack output schema documentation. Error handling is minimal, most tools return generic text responses without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Parameter descriptions are adequate but lack format constraints (e.g., date_from/date_to lack ISO 8601 format hints). No pagination support on list_mql5_files despite potential for large result sets.
Compile a MQL5 file using MetaEditor CLI. Returns compilation result with errors/warnings.
Read and parse the latest backtest results
Read and parse the compilation log for a MQL5 file
List MQL5 source files (experts, indicators, scripts, includes)
Read a MQL5 source file
Run a backtest using MT5 Strategy Tester. Generates a .ini config and launches terminal64.exe.
Create or overwrite a MQL5 source file
No output schema documentation. Tools return text responses without structured field definitions. LLMs cannot plan downstream calls or extract typed data.
Missing tool annotations. write_mql5_file and run_backtest are destructive/stateful but lack destructiveHint. compile_mql5 is idempotent but unmarked. Agents cannot reason about retry safety.
Minimal error recovery guidance. Errors return plain text (e.g., 'Compiled EA not found') without actionable next steps. No error classification (retryable vs user-fixable vs fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Date parameters (date_from, date_to) lack format constraints in descriptions. Should explicitly state 'ISO 8601 format YYYY.MM.DD' to prevent LLM hallucination of invalid dates.
list_mql5_files has no pagination support (limit, offset, next_cursor). If MQL5 directory contains hundreds of files, response will bloat context window.