ExecBro
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 -y execbro@latest
See full setup guide for VS Code Copilot, Cursor, and iOS driver configuration.
setup UI automation helpers
brew install cameroncooke/axe/axe
Required for tap, swipe, text input, and accessibility queries on the iOS Simulator (AXe CLI, default driver — IDB is available as an alternative). Android works out of the box via ADB, no extra setup needed. Full setup guide for driver options.
install the SDK in your app recommended
npm install execbro-sdk
The single biggest upgrade to debugging quality — wire your state stores (Redux, TanStack Query) and network layer straight into the agent so it inspects real app state and full request/response bodies instead of guessing from the outside. One import in your app's entry file (not the ExecBro MCP server). SDK setup & options.
authorize and link to web dashboard optional
You already get 600 free tool calls a month without an account. Sign in for usage stats, session history, and configuration in the dashboard. Linking your installation here is also required to unlock unlimited usage when you subscribe to ExecBro Pro — see pricing for details.
start your React Native app
npm start
ask your AI assistant
Connect to the simulator and investigate what caused the error on the screen
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. Wire stores and app internals straight into the agent with the optional SDK for direct, reliable state access
- 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_devicesto see every simulator, emulator and physical device, orget_appsfor just the ones already connected to Metro - 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.