Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
MT5 strategy development with 87 tools. Backtest, optimize, debug MQL5 EAs on macOS/Linux.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
MT5_MCP_HOME你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
运行前请先填写空着的值。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
MT5_MCP_HOME env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 masdevid 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.34.3)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Spec Driven Development, Remote Desktop Commander, AI Deprecations
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MCP server for MT5 strategy development on macOS/Linux. 89 tools to compile, backtest, analyze, optimize, debug crashes, and manage MQL5 Expert Advisors — no Windows required.
You: "Backtest MyEA Jan-Mar, what caused the February drawdown?"
Claude: [compile → clean → backtest → analyze 1,847 deals] → Feb 14: BUY grid at L6, locking lot 1.75× base → Cutloss fired 17 points later → Recommendation: cap locking multiplier to ≤1.2×
Focus: Backtest organization, reporting, and analytics — capabilities MT5 itself doesn't provide.
| MT5-Quant | Others | |
|---|---|---|
| Platform | macOS/Linux native | Windows only |
| Backtest pipeline | ✅ Full (compile → run → analyze) | ✅ Via MT5 Python package |
| Deal-level analytics | ✅ 19 dimensions, DB-backed | ❌ |
| Report organization | ✅ SQLite (reports + deals) + search + history | ❌ |
| MQL5 compilation | ✅ Headless (MetaEditor via Wine, no GUI) | ⚠️ Via GUI or terminal |
| Optimization | ✅ Background + results parsing + .set generation | ⚠️ Terminal only, no parsing |
| Crash debugging | ✅ Wine/MT5 diagnostics | ❌ |
Others typically run on Windows using the MetaTrader5 Python package, providing full terminal operations. MT5-Quant fills the gap: organizing backtest reports, extracting deal-level insights, and managing optimization workflows — none of which MT5 or its Python API expose natively.
cargo install mt5-quant --locked
# macOS Apple Silicon
curl -LO https://github.com/masdevid/mt5-quant/releases/latest/download/mcp-mt5-quant-macos-arm64.tar.gz tar xzf mcp-mt5-quant-macos-arm64.tar.gz # → mcp-mt5-quant-macos/mt5-quant
curl -LO https://github.com/masdevid/mt5-quant/releases/latest/download/mcp-mt5-quant-linux-x64.tar.gz tar xzf mcp-mt5-quant-linux-x64.tar.gz # → mcp-mt5-quant-linux/mt5-quant
Move the binary somewhere on your PATH (e.g. /usr/local/bin or ~/.local/bin) so clients can launch it as mt5-quant.
Claude Code
claude mcp add mt5-quant -- mt5-quant --stdio
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "mt5-quant": { "command": "mt5-quant", "args": ["--stdio"] } } }
Cursor — .cursor/mcp.json (same JSON shape as Claude Desktop)
{ "mcpServers": { "mt5-quant": { "command": "mt5-quant", "args": ["--stdio"] } } }
opencode — .opencode/opencode.jsonc
{ "mcp": { "mt5-quant": { "type": "local", "command": ["mt5-quant", "--stdio"], "enabled": true } } }
Codex CLI — ~/.codex/config.toml
[mcp_servers.mt5-quant]
command = "mt5-quant" args = ["--stdio"]
Then finish setup (auto-detects Wine + MT5 paths):
bash scripts/setup.sh
Tip: you can also just ask your LLM coding agent to do all of the above:
*"Please install mt5-quant from https://github.com/masdevid/mt5-quant — download or build it, run its
scripts/setup.shto auto-detect Wine and MT5 paths, and register it as an MCP server."*
Run a backtest on MyEA from 2025.01.01 to 2025.03.31
The AI runs the full pipeline: compile → clean cache → backtest → extract → analyze.
| Tool | Description |
|---|---|
run_backtest | Full pipeline: compile → clean → backtest → extract → analyze |
run_backtest_quick | Quick backtest using pre-compiled EA (skip compile) |
run_backtest_only | Backtest only - just extract raw trades, no analysis |
launch_backtest | Fire-and-forget: launch MT5 backtest, poll for completion |
get_backtest_status | Poll running backtest status (MT5 running, report found, elapsed time) |
run_optimization | Genetic optimization (background, returns immediately) |
get_optimization_results | Parse optimization results after MT5 finishes |
list_jobs | List all optimization jobs with status |
analyze_report | Read analysis.json from any report directory |
compare_baseline | Compare report vs baseline, return winner/loser verdict |
compile_ea | Compile MQL5 EA via MetaEditor |
list_experts | List all EAs in MQL5/Experts directory |
list_indicators | List all indicators in MQL5/Indicators directory |
list_scripts | List all scripts in MQL5/Scripts directory |
healthcheck | Quick server health check |
list_symbols | List all available symbols in MT5 terminal |
| Tool | Description |
|---|---|
analyze_monthly_pnl | Monthly P/L breakdown only |
analyze_drawdown_events | Drawdown events and causes only |
analyze_top_losses | Worst losing deals only |
analyze_loss_sequences | Consecutive loss patterns only |
analyze_position_pairs | Position hold time and P/L pairs |
analyze_direction_bias | Buy vs Sell performance |
analyze_streaks | Win/loss streak analysis |
analyze_concurrent_peak | Peak simultaneous positions |
Use these for targeted analysis, or analyze_report to run all at once.
| Tool | Description |
|---|---|
list_deals | List individual deals with filters (type, profit range, volume, dates) |
search_deals_by_comment | Full-text search in deal comments (e.g., "Layer #3") |
search_deals_by_magic | Filter deals by EA magic number |
analyze_profit_distribution | Profit histogram: small/medium/large wins and losses |
analyze_time_performance | Performance by hour of day and day of week |
analyze_hold_time_distribution | Hold time buckets + correlation with profit |
analyze_layer_performance | Grid/martingale layer analysis from comments |
analyze_volume_vs_profit | Volume correlation + performance by lot size |
analyze_costs | Commission and swap impact on profitability |
analyze_efficiency | Profit per hour/day, annualized return, trade frequency |
| Tool | Description |
|---|---|
verify_setup | Check Wine/MT5 paths, Wine version, and EA/set file counts |
get_optimization_status | Check live state of a background optimization job |
list_jobs | All optimization jobs with compact status in one call |
| Tool | Description |
|---|---|
list_reports | Compact table of all runs with key metrics — no full analysis needed |
get_latest_report | Get most recent report with optional equity chart |
search_reports | Find reports by EA, symbol, date range, or profit criteria |
get_report_by_id | Get specific report by ID with equity chart |
get_reports_summary | Aggregate stats: counts, averages, pass rates |
get_best_reports | Top N reports sorted by any metric (profit factor, drawdown, etc.) |
search_reports_by_tags | Find reports by tags |
search_reports_by_date_range | Query by backtest date range |
search_reports_by_notes | Full-text search in report notes |
get_reports_by_set_file | Find all reports using a specific .set file |
get_comparable_reports | Find comparable reports (same EA/symbol/timeframe) |
tail_log | Read last N lines of any log; filter=errors to see only failures |
prune_reports | Delete old report directories, keep last N (skips _opt dirs) |
promote_to_baseline | Write a history entry or report to baseline.json for compare_baseline |
| Tool | Description |
|---|---|
archive_report | Convert one report dir → compact JSON entry in backtest_history.json, optionally delete source |
archive_all_reports | Bulk-archive all report dirs then optionally delete them; keeps N newest safe |
get_history | Query history with filters (EA, symbol, verdict, profit, DD) and sort options |
annotate_history | Attach verdict / notes / tags to any history entry |
| Tool | Description |
|---|---|
cache_status | MT5 tester cache size breakdown by symbol — check before cleaning |
clean_cache | Delete tester cache files; supports per-symbol and dry_run |
| Tool | Description |
|---|---|
get_active_account | Get current MT5 account session (login, server, available symbols) |
check_symbol_data_status | Validate symbol has sufficient history data for date range |
check_mt5_status | Check if MT5 terminal is installed and ready |
validate_ea_syntax | Pre-compile syntax check without running full compilation |
| Tool | Description |
|---|---|
diagnose_wine | Check Wine installation, version, and prefix health |
get_mt5_logs | Get MT5 terminal, tester, or MetaEditor logs with filtering |
search_mt5_errors | Search logs for error patterns (crash, exception, access violation) |
check_mt5_process | Check if MT5 processes are running, get PID, CPU, memory usage |
kill_mt5_process | Kill stuck MT5 processes (force=true for wineserver) |
check_system_resources | Check disk space, memory, CPU availability |
validate_mt5_config | Validate terminal.ini and tester configuration files |
get_wine_prefix_info | Get Wine prefix details: Windows version, installed programs, registry |
get_backtest_crash_info | Investigate backtest failures: incomplete markers, missing deals.csv, errors |
check_update | Check if a newer version of MT5-Quant is available |
update | Update MT5-Quant to latest release |
| Tool | Description |
|---|---|
init_project | Scaffold new MQL5 project with templates (scalper/swing/grid/basic) |
create_set_template | Generate .set parameter file from EA input variables |
export_report | Export backtest report to CSV, JSON, or Markdown |
| Tool | Description |
|---|---|
get_backtest_history | List all backtests for EA/symbol with summary metrics |
compare_backtests | Compare 2+ backtest results side-by-side with analysis |
| Tool | Description |
|---|---|
list_set_files | All .set files in tester profiles dir with sweep stats and combination counts |
read_set_file | Parse UTF-16LE .set file → structured JSON params |
write_set_file | Write full params dict → UTF-16LE .set with chmod 444 |
patch_set_file | Update specific params in-place, return diff — replaces read→edit→write |
clone_set_file | Copy .set to new path with optional overrides in one call |
| Tool | Description |
|---|---|
describe_sweep | Swept params, value counts, and total optimization combinations |
diff_set_files | Side-by-side diff of two .set files — only changed params returned |
set_from_optimization | Generate a clean backtest .set from get_optimization_results params; optionally narrow sweep |
只显示了开头部分;其余内容请在仓库中阅读