Open-source MCP server for MetaTrader 5 backtesting, optimization & analytics — pure Rust
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
analyze_concurrent_peak
Peak simultaneous positions
-
analyze_costs
Commission and swap impact on profitability
-
analyze_direction_bias
Buy vs Sell performance
-
analyze_drawdown_events
Drawdown events and causes only
-
analyze_efficiency
Profit per hour/day, annualized return, trade frequency
-
analyze_hold_time_distribution
Hold time buckets + correlation with profit
-
analyze_layer_performance
Grid/martingale layer analysis from comments
-
analyze_loss_sequences
Consecutive loss patterns only
-
analyze_monthly_pnl
Monthly P/L breakdown only
-
analyze_position_pairs
Position hold time and P/L pairs
-
analyze_profit_distribution
Profit histogram: small/medium/large wins and losses
-
analyze_report
Read analysis.json from any report directory
-
analyze_streaks
Win/loss streak analysis
-
analyze_time_performance
Performance by hour of day and day of week
-
analyze_top_losses
Worst losing deals only
-
analyze_volume_vs_profit
Volume correlation + performance by lot size
-
annotate_history
Attach verdict / notes / tags to any history entry
-
archive_all_reports
Bulk-archive all report dirs then optionally delete them; keeps N newest safe
-
archive_report
Convert one report dir → compact JSON entry in backtest_history.json, optionally delete source
-
cache_status
MT5 tester cache size breakdown by symbol — check before cleaning
-
check_mt5_status
Check if MT5 terminal is installed and ready
-
check_symbol_data_status
Validate symbol has sufficient history data for date range
-
clean_cache
Delete tester cache files; supports per-symbol and dry_run
-
compare_baseline
Compare report vs baseline, return winner/loser verdict
-
compile_ea
Compile MQL5 EA via MetaEditor
-
get_active_account
Get current MT5 account session (login, server, available symbols)
-
get_backtest_status
Poll running backtest status (MT5 running, report found, elapsed time)
-
get_best_reports
Top N reports sorted by any metric (profit factor, drawdown, etc.)
-
get_comparable_reports
Find comparable reports (same EA/symbol/timeframe)
-
get_history
Query history with filters (EA, symbol, verdict, profit, DD) and sort options
-
get_latest_report
Get most recent report with optional equity chart
-
get_optimization_results
Parse optimization results after MT5 finishes
-
get_optimization_status
Check live state of a background optimization job
-
get_report_by_id
Get specific report by ID with equity chart
-
get_reports_by_set_file
Find all reports using a specific .set file
-
get_reports_summary
Aggregate stats: counts, averages, pass rates
-
healthcheck
Quick server health check
-
launch_backtest
Fire-and-forget: launch MT5 backtest, poll for completion
-
list_deals
List individual deals with filters (type, profit range, volume, dates)
-
list_experts
List all EAs in MQL5/Experts directory
-
list_indicators
List all indicators in MQL5/Indicators directory
-
list_jobs
List all optimization jobs with status
-
list_reports
Compact table of all runs with key metrics — no full analysis needed
-
list_scripts
List all scripts in MQL5/Scripts directory
-
list_symbols
List all available symbols in MT5 terminal
-
promote_to_baseline
Write a history entry or report to baseline.json for compare_baseline
-
prune_reports
Delete old report directories, keep last N (skips _opt dirs)
-
run_backtest
Full pipeline: compile → clean → backtest → extract → analyze
-
run_backtest_only
Backtest only - just extract raw trades, no analysis
-
run_backtest_quick
Quick backtest using pre-compiled EA (skip compile)
-
run_optimization
Genetic optimization (background, returns immediately)
-
search_deals_by_comment
Full-text search in deal comments (e.g., "Layer #3")
-
search_deals_by_magic
Filter deals by EA magic number
-
search_reports
Find reports by EA, symbol, date range, or profit criteria
-
search_reports_by_date_range
Query by backtest date range
-
search_reports_by_notes
Full-text search in report notes
-
search_reports_by_tags
Find reports by tags
-
tail_log
Read last N lines of any log; filter=errors to see only failures
-
validate_ea_syntax
Pre-compile syntax check without running full compilation
-
verify_setup
Check Wine/MT5 paths, Wine version, and EA/set file counts
analyzed commit b5efd82 · analyzer v32 · 3w ago
skills & prompt files 1
- agent-rules masdevid-mt5-quant-b5efd82/AGENTS.md
code files: 52
declared dependencies 18
- tokio@1.0
- serde@1.0
- serde_json@1.0
- serde_yaml@0.9
- clap@4.0
- anyhow@1.0
- tracing@0.1
- tracing-subscriber@0.3
- uuid@1.0
- regex@1.0
- dirs@5.0
- walkdir@2.0
- chrono@0.4
- encoding_rs@0.8
- tempfile@3.0
- roxmltree@0.21.1
- rusqlite@0.31
- base64@0.22