ExecBro
← back

ExecBro

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 -y execbro@latest

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

2

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.

3

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.

4

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.

5

start your React Native app

npm start
6

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:

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_devices to see every simulator, emulator and physical device, or get_apps for 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.