# ExecBro

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.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 80
- Author: igorzheludkov
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/igorzheludkov/execbro
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/execbro

## What it 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]`.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `EXECBRO_API_URL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env EXECBRO_API_URL=<EXECBRO_API_URL> --transport stdio execbro -- npx -y execbro
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add execbro --env EXECBRO_API_URL=<EXECBRO_API_URL> -- npx -y execbro
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "execbro": {
            "command": "npx",
            "args": [
                "-y",
                "execbro"
            ],
            "env": {
                "EXECBRO_API_URL": "<EXECBRO_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "execbro": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "execbro"
            ],
            "env": {
                "EXECBRO_API_URL": "<EXECBRO_API_URL>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e EXECBRO_API_URL=<EXECBRO_API_URL> execbro npx -y execbro
```
Replace <…> with your own values

## When to use it
- 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
- Show the latest logs and network requests, find the failing call
- Tap the checkout button and send me a screenshot after the tap

## Similar
- [mobile-mcp](https://affpapa.org/en/nevibecode/mcp/mobile-mcp.md) — MCP server · ★ 9946
- [mobilerun](https://affpapa.org/en/nevibecode/mcp/mobilerun.md) — MCP server · ★ 9751
- [e2e](https://affpapa.org/en/nevibecode/mcp/e2e.md) — MCP server · ★ 11912
- [XcodeBuildMCP](https://affpapa.org/en/nevibecode/mcp/xcodebuildmcp.md) — MCP server · ★ 6505
- [ShipSwift](https://affpapa.org/en/nevibecode/mcp/shipswift.md) — MCP server · ★ 3244
- [agent-device](https://affpapa.org/en/nevibecode/mcp/agent-device.md) — MCP server · ★ 5149

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
