QaFlow logo

QaFlow

by Richmond OpokuGitHubUpdated May 4, 2026

QaFlow MCP server enables React Native/Expo developers to run analyze-project on codebases, mapping screens, routes, components, testIDs, forms, and APIs—then generate-tests complete Maestro YAML E2E suites or generate-flow single journeys. Execute via run-tests for pass/fail results with screenshots; use update-tests to patch for code changes, coverage-report for gaps, and add-test-ids to fix missing props.

mcp
react-native
expo
+3
|

Overview

QaFlow analyzes your React Native or Expo codebase using analyze-project to map screens, routes, components, testIDs, form fields, and API calls. It then generates complete Maestro YAML test suites with generate-tests or single flows via generate-flow and generate-journey for user journeys like login or checkout. Run tests directly with run-tests or run-flow on iOS Simulators or Android Emulators, getting pass/fail results with screenshots.

Key Capabilities

Use coverage-report and list-flows to identify untested screens and track test status. Maintain tests with update-tests, which detects code changes, re-analyzes affected files, and patches YAML flows. Add missing testIDs automatically via add-test-ids, which scans for interactive elements and applies AST-safe patches with semantic names—preview first with dry run. Validate setup with check-environment to ensure Maestro CLI, simulator, and appId are ready.

Use Cases

Point analyze-project at your project directory to auto-discover auth gates and onboarding flows, then generate-journey a multi-screen shopping flow with realistic data from Zod schemas. Execute the full suite via run-tests during CI/CD for instant feedback on regressions. After code changes, run update-tests to regenerate only impacted flows, and use coverage-report to prioritize gaps before releases.

Who This Is For

React Native and Expo developers building mobile apps with Expo Router or React Navigation. QA engineers automating E2E tests with Maestro on simulators. Teams maintaining test coverage without manual YAML authoring or testID hunting.