ExecBro — Claude Code MCP server for React Native runtime
Hooks an AI agent into a running React Native app: reads logs and network traffic, taps the UI, takes screenshots and runs JS inside the app.
claude mcp add --env EXECBRO_API_URL=<EXECBRO_API_URL> --transport stdio execbro -- npx -y execbroWhat ExecBro does
ExecBro sits between your coding assistant and the app running on a simulator or device. The agent reads console.log, warn, error, info and debug output, follows HTTP requests with headers and bodies, inspects Apollo Client, Redux and Expo Router state, and picks up Metro bundler errors with file locations. It also runs code in the app REPL-style.
Device control goes through simctl on iOS and ADB on Android: screenshots, app install and launch, text input. The tap tool picks its own path — fiber tree, accessibility, OCR or raw coordinates — and returns a screenshot after the press. swipe detects the platform and returns a verification.meaningful signal so the agent knows a list has hit the end. The multi-touch pinch tool works on the Android emulator only.
On a cold start, logs and network requests sent before the server connects are missed; later reloads capture everything. The optional execbro-sdk buffers output from the first line of startup. OCR text extraction relies on Google Cloud Vision, so that access has to be available. Secrets stay out of the transcript: every tool output passes one redaction chokepoint, and a token becomes a handle like [secret:auth_api.acme.io].
What it helps with
- read logs from a running app and trace an on-screen error
- mock an HTTP response to reach the app's real error branch
- run JS inside the app and inspect the result
- tap an element and get the source file and line that renders it
- scroll a virtualized list and detect the end of it
Example prompts for the agent
- Show the latest logs and network requests, find the failing call
- Tap the checkout button and send me a screenshot after the tap
How to install ExecBro
Platform CLI
claude mcp add --env EXECBRO_API_URL=<EXECBRO_API_URL> --transport stdio execbro -- npx -y execbroReplace <…> with your own values
Platform CLI
codex mcp add execbro --env EXECBRO_API_URL=<EXECBRO_API_URL> -- npx -y execbroReplace <…> with your own values
Config file
{
"mcpServers": {
"execbro": {
"command": "npx",
"args": [
"-y",
"execbro"
],
"env": {
"EXECBRO_API_URL": "<EXECBRO_API_URL>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"execbro": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"execbro"
],
"env": {
"EXECBRO_API_URL": "<EXECBRO_API_URL>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e EXECBRO_API_URL=<EXECBRO_API_URL> execbro npx -y execbroReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about ExecBro
How do I install ExecBro in Claude Code?
Run claude mcp add execbro -- npx -y execbro. To point it at your own API URL, use claude mcp add --env EXECBRO_API_URL=<EXECBRO_API_URL> --transport stdio execbro -- npx -y execbro.
What does ExecBro do?
It connects an AI assistant to a running React Native app: log and network capture, state inspection, screenshots, taps, swipes and JS execution.
Do I need to change my app code?
Nothing has to change to get started. The execbro-sdk package is optional, but with it logs and network traffic are captured from the very first line of app startup.