ExecBro
← back

ExecBro

An MCP server that gives AI assistants real-time access to a running React Native app. It bridges the gap between static code and live runtime, turning AI assistants from guessing machines into informed development partners.

This is not a debugger. This is not a QA tool. This is a Runtime AI Bridge — the missing layer between AI coding assistants and live mobile applications.

Get Started

Set up the MCP server to start debugging your React Native app with AI.

1

add MCP server to your IDE

claude mcp add execbro --scope project -- npx react-native-ai-devtools

See full setup guide for VS Code Copilot, Cursor, and iOS driver configuration.

2

start your React Native app

npm start
3

ask your AI assistant

Use scan_metro to find and connect to Metro
4

authorize and link to web dashboard optional

Sign in to the web dashboard for advanced usage stats, session history, and configuration.

Features

Runtime Interaction

  • Console Log Capture — console.log, warn, error, info, debug with filtering and search
  • Network Request Tracking — monitor HTTP requests/responses with headers, timing, and body content
  • JavaScript Execution — run code directly in your app (REPL-style) and inspect results
  • Global State Debugging — discover and inspect Apollo Client, Redux stores, Expo Router, and custom globals
  • Bundle Error Detection — get Metro bundler errors and compilation issues with file locations

Device Control

  • iOS Simulator — screenshots, app management, URL handling, boot/terminate
  • Android Devices — screenshots, app install/launch, package management
  • Unified Tap— single tap tool with automatic fallback chain: fiber tree → accessibility → OCR → coordinates
  • UI Automation — swipe, long press, text input, and key events on both platforms
  • Accessibility Inspection — query UI hierarchy to find elements by text, label, or resource ID
  • OCR Text Extraction — extract visible text with tap-ready coordinates via Google Cloud Vision

Multi-Device Debugging

  • Connect All Devices — scan_metro automatically discovers and connects to all Bridgeless targets
  • Device Targeting — every tool accepts an optional device parameter for targeting specific devices
  • Per-Device Buffers — logs and network requests captured separately per device

Under the Hood

  • Auto-Discovery — scans Metro on ports 8081, 8082, 19000-19002
  • Auto-Reconnection — exponential backoff (up to 8 attempts)
  • Efficient Buffering — circular buffers: 500 logs, 200 network requests
  • Platform Support — Expo SDK 54+, React Native 0.70+

Available Tools

See the full tool reference for all 40+ tools with descriptions. Key tools:

ToolDescription
scan_metroStart here — scan for Metro servers and auto-connect
get_logs / search_logsCapture and search console logs with filtering and summaries
get_network_requestsMonitor HTTP requests with method/status filtering
get_screen_layoutScreen map of visible components with positions, sizes, and text content
tapUnified tap— auto-detects platform, tries fiber → accessibility → OCR → coordinates
execute_in_appRun JS expressions in the app runtime (REPL-style)
ios_screenshot / android_screenshotTake device screenshots

Claude Code Skills

Pre-built skills for common debugging workflows. See the skills guide for the full list and installation instructions.

SkillDescription
session-setupBootstrap a debugging session: discover devices, boot simulators, connect to Metro
debug-logsCapture, filter, and analyze console logs
network-inspectMonitor and inspect HTTP requests and failures
device-interactAutomate device interaction: tap, swipe, text input
component-inspectInspect React component tree, props, and state

Detailed Guides

GuideDescription
Platform & IDE SetupClaude Code, VS Code Copilot, Cursor setup + iOS driver installation
Full Tool ReferenceComplete list of all 40+ tools with descriptions
Claude Code SkillsPre-built skills for session setup, debugging, and automation

Supported React Native Versions

VersionArchitectureEngineStatus
Expo SDK 54+Bridgeless (New Arch)HermesFully supported
RN 0.76+Bridgeless (New Arch)HermesFully supported
RN 0.73 – 0.75Bridge (Old Arch)HermesFully supported
RN 0.70 – 0.72Bridge (Old Arch)Hermes / JSCSupported
RN < 0.70BridgeJSCNot tested

Troubleshooting

No devices found

  • The server does not auto-connect — call scan_metro first to discover and connect to Metro servers
  • Make sure your React Native app is running with Metro bundler
  • Check that Metro is accessible at http://localhost:8081

Logs not appearing

  • Ensure the app is actively running (not just Metro)
  • Try clear_logs then trigger some actions in the app
  • On cold start: The CDP connection is established after early initialization. Use reload_app — the subsequent reload captures everything. Install the optional SDK for full startup capture

Wrong device connected

  • Use list_ios_simulators or list_android_devices to see all available devices
  • Specify the device name explicitly when using tools

Feedback & Feature Requests

Have an idea or found something that could be better? Head over to GitHub Discussions to share feedback, request features, and vote on what gets built next.