AI-powered app test automation for iOS, Android, Flutter, React Native, Web
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Built for vibe coders: one command, get a prioritized list of what's actually broken about your project.
Self-healing test automation for iOS, Android, Flutter, React Native and Web apps β as an MCP server.
v3.1.1 β vibe-check + honest auto-fix. One MCP call, ~30 seconds: race conditions + security issues + memory leaks + logic errors + perf smells, prioritized. Stays on your machine, no telemetry. Pass
autoFix: truefor the small, safe mechanical fixes (weak-hash, simpleMath.randomassignment) β backup + syntax-validate + rollback-on-syntax-fail. For test-verified application of harder fixes, use v3.0.0's iterate-fix loop.
You don't read the docs. You open the project, talk to Claude, and want a verdict. Here it is:
In Claude (with test-genie-mcp installed β setup):
Claude calls diagnose_project under the hood. ~30 seconds later you see:
If any finding is autoFixable: true and is at high/critical severity, the diagnose_project call accepts autoFix: true to apply the mechanical replacement directly (with backup + syntax validation β see SAFETY.md for the exact guards). The v3.1.1 honest scope is narrow: weak hash (createHash('md5'|'sha1') β createHash('sha256')) and standalone Math.random() in security-sensitive files. For broader/structural fixes (race conditions, eval, exec injection) run run_iterative_fix_loop separately β it re-runs tests and auto-rolls-back on regression.
The bottleneck in mobile + cross-platform test automation isn't writing tests β it's the loop between a failing test and a passing test. test-genie closes that loop:
This full loop is the run_iterative_fix_loop tool. The diagnose_project autoFix: true path in v3.1.1 covers a strict subset β backup + dry-run + syntax-validate + apply, without re-running tests (so no test-regression rollback in that path). Use the right tool for the job β and see SAFETY.md for the exact guards on each.
Other tools (Detox, Maestro, Playwright, xcodebuild test) run tests. test-genie runs tests and drives the fix until the bar is met or it can no longer make progress β without you scrubbing through stack traces.
Expected output (truncated):
Re-call with autoApply: true (or resumeToken: "f8b3β¦") to actually patch the files.
The flows below describe the
run_iterative_fix_looppath (v3.0 headline) β full detect β propose β dry-run β apply-with-backup β re-run-tests β rollback-on-regression. Thediagnose_project autoFixpath in v3.1.1 is the narrower mechanical-replacement-only path; see SAFETY.md Β§4 for what that one actually touches.
A team adds setInterval(...) in a useEffect and forgets cleanup. test-genie's detect_memory_leaks flags it, suggest_fixes proposes return () => clearInterval(id) (src/tools/fixing/suggestFixes.ts:169-179), the loop dry-runs the patch through the TS compiler, applies with backup, re-runs only the affected snapshot test, confirms 100% pass, stops. Before: 1 failing snapshot. After: 0 failing, 1 fix applied, 1 backup at .test-genie-backups/.
dispose() automationAnimationController left undisposed. test-genie sees the missing dispose() override, generates a Dart @override dispose() { controller.dispose(); super.dispose(); } block (suggestFixes.ts:214-217), runs dart analyze on the patched file, applies, re-runs flutter test, converges.
self.timer = Timer.scheduledTimer(...) { _ in self.tick() } β rule-based detector flags closure self-capture, fixer rewrites to [weak self] _ in guard let self = self else { return }; self.tick() (suggestFixes.ts:239-242). If swiftc is on PATH the syntax check is real; otherwise test-genie reports "downgraded validation" so you know.
See docs/ITERATE_FIX_LOOP.md for a sequence diagram and the full safety-guard list.
| # | Tool | Mode |
|---|---|---|
| 1 | analyze_app_structure | real |
| 2 | generate_scenarios | real |
| 3 | create_test_plan | real |
| 4 | run_scenario_test | hybrid |
| 5 | run_simulation | simulated |
| 6 | run_stress_test | hybrid |
| 7 | detect_memory_leaks | real |
| 8 | detect_logic_errors | real |
| 9 | suggest_fixes | real |
| 10 | confirm_fix | real |
| 11 | apply_fix | real |
| 12 | rollback_fix | real |
| 13 | run_full_automation | hybrid |
| 14 | run_iterative_fix_loop (v3.0 headline) | hybrid |
| 15 | generate_report | real |
| 16 | get_pending_fixes | real |
| 17 | get_test_history | real |
| 18 | analyze_performance | real |
| 19 | analyze_code_deep | real |
| 20 | generate_cicd_config | real |
| 21 | diagnose_project (v3.1 headline β vibe-check) | real |
| 22 | detect_race_conditions | real |
| 23 | detect_security_issues | real |
mode legend in docs/SIMULATION_VS_REAL.md.
Plus 4 resources (test-genie://iteration-logs, β¦/test-history/{path}, β¦/iteration-logs/{loopId}, β¦/applied-fixes/{path}) and 3 prompts (full-test-pipeline, diagnose-failure, vibe-check).
Race conditions (detect_race_conditions / diagnose_project):
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/test-genie)<a href="https://allmcps.com/mcp/test-genie"><img src="https://allmcps.com/api/badge/test-genie?style=directory" alt="Test Genie on AllMCPs" /></a>