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.
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.
start your React Native app
npm start
ask your AI assistant
Use scan_metro to find and connect to Metro
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:
| Tool | Description |
|---|---|
| scan_metro | Start here — scan for Metro servers and auto-connect |
| get_logs / search_logs | Capture and search console logs with filtering and summaries |
| get_network_requests | Monitor HTTP requests with method/status filtering |
| get_screen_layout | Screen map of visible components with positions, sizes, and text content |
| tap | Unified tap— auto-detects platform, tries fiber → accessibility → OCR → coordinates |
| execute_in_app | Run JS expressions in the app runtime (REPL-style) |
| ios_screenshot / android_screenshot | Take device screenshots |
Claude Code Skills
Pre-built skills for common debugging workflows. See the skills guide for the full list and installation instructions.
| Skill | Description |
|---|---|
| session-setup | Bootstrap a debugging session: discover devices, boot simulators, connect to Metro |
| debug-logs | Capture, filter, and analyze console logs |
| network-inspect | Monitor and inspect HTTP requests and failures |
| device-interact | Automate device interaction: tap, swipe, text input |
| component-inspect | Inspect React component tree, props, and state |
Detailed Guides
| Guide | Description |
|---|---|
| Platform & IDE Setup | Claude Code, VS Code Copilot, Cursor setup + iOS driver installation |
| Full Tool Reference | Complete list of all 40+ tools with descriptions |
| Claude Code Skills | Pre-built skills for session setup, debugging, and automation |
Supported React Native Versions
| Version | Architecture | Engine | Status |
|---|---|---|---|
| Expo SDK 54+ | Bridgeless (New Arch) | Hermes | Fully supported |
| RN 0.76+ | Bridgeless (New Arch) | Hermes | Fully supported |
| RN 0.73 – 0.75 | Bridge (Old Arch) | Hermes | Fully supported |
| RN 0.70 – 0.72 | Bridge (Old Arch) | Hermes / JSC | Supported |
| RN < 0.70 | Bridge | JSC | Not tested |
Troubleshooting
No devices found
- The server does not auto-connect — call
scan_metrofirst 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_logsthen 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_simulatorsorlist_android_devicesto 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.