Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub davedev42/expo-mcpExpo/React Native app automation — QA testing, UI automation, and Maestro integration. Run /expo-mcp:install afterward to verify setup.
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Production-ready workflow orchestration with 84 marketplace plugins, 192 local specialized agents, and 156 local skills - optimized for granular installation and minimal token usage
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations
Share bugs, ideas, or general feedback.
MCP server for Expo/React Native app automation with Maestro integration.
start_session launches Expo, binds a device, and acquires a lease — no manual device ID managementInstall as a plugin to get the MCP server, QA agent, flow writer, and usage guide in one step:
# 1. Add the marketplace source
/plugin marketplace add DaveDev42/expo-mcp
# 2. Install the plugin
/plugin install expo-mcp --scope project
Or from the terminal:
claude plugin marketplace add DaveDev42/expo-mcp
claude plugin install expo-mcp --scope project
This automatically:
expo MCP server (no manual .mcp.json needed)qa) for automated mobile app testingflow-writer) for creating Maestro YAML test flows/expo-guide) with tool reference and best practicesnpx -y expo-mcp
With pnpm:
pnpx expo-mcp
If not using the plugin, add to your .mcp.json:
{
"mcpServers": {
"expo-mcp": {
"command": "npx",
"args": ["-y", "expo-mcp"]
}
}
}
Use a positional argument to specify the app directory:
{
"mcpServers": {
"expo-mcp": {
"command": "npx",
"args": ["-y", "expo-mcp", "apps/mobile"]
}
}
}
Pin a specific simulator or emulator with --device-id:
{
"mcpServers": {
"expo-mcp": {
"command": "npx",
"args": ["-y", "expo-mcp", "--device-id=6D192F60-1234-5678-ABCD-000000000000"]
}
}
}
Exclude specific tools with --exclude-tools:
{
"mcpServers": {
"expo-mcp": {
"command": "npx",
"args": ["-y", "expo-mcp", "apps/mobile", "--exclude-tools=list_devices"]
}
}
}
Or expose only specific tools with --tools:
{
"mcpServers": {
"expo-mcp": {
"command": "npx",
"args": ["-y", "expo-mcp", "--tools=start_session,stop_session,take_screenshot"]
}
}
}
Usage: expo-mcp [app-dir] [options]
Arguments:
app-dir Path to Expo app directory (default: cwd)
Options:
--device-id=<id> Specific device to use (iOS simulator UUID or Android serial)
--exclude-tools=tool1,tool2 Exclude specific tools from the MCP server
--tools=tool1,tool2 Only expose specific tools
-h, --help Show help message
-v, --version Show version number
# 1. Start session (launches Expo + binds device + acquires lease)
start_session({ target: "ios-simulator" })
# 2. Use tools directly (no device_id needed!)
take_screenshot()
tap_on({ text: "Login" })
input_text({ text: "hello@example.com" })
press_key({ key: "Enter" })
scroll({ direction: "down" })
swipe({ direction: "left" })
# 3. Run Maestro flows
run_maestro_flow({ flow_yaml: "- assertVisible: Welcome" })
check_maestro_flow_syntax({ flow_yaml: "- tap: Login" })
# 4. Reload app after code changes
reload_app()
# 5. Check logs if needed
get_logs({ level: "error" })
# 6. Stop session when done
stop_session()
When installed as a Claude Code plugin, you get these additional features:
Delegate mobile QA testing to the qa agent. It systematically tests your app on a simulator/emulator with strict evidence requirements — no code-review-only verdicts.
# In Claude Code, delegate to the QA agent:
"Test the login flow on iOS simulator" → delegates to qa agent
The agent follows a structured methodology: launch app → inspect UI → interact → verify → report with PASS/FAIL/INCONCLUSIVE verdict.
The flow-writer agent inspects the live app and creates Maestro YAML test flows:
# Ask the flow writer to create a test flow:
"Write a Maestro flow for the onboarding sequence" → delegates to flow-writer agent
It validates syntax, executes the flow to verify it works, and writes the .yaml file to your project.
Access the tool reference and best practices with /expo-guide:
/expo-guide # Full guide
/expo-guide session # Session lifecycle
/expo-guide debugging # Debugging tips