# ExecBro [Health: Active]

**Category:** 👨‍💻 Code Execution  
**Repository:** https://github.com/igorzheludkov/execbro  
**GitHub Stars:** 75  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/execbro

## Description
Gives AI agents eyes and hands into running React Native apps: logs, REPL, tap, screenshots

## Tools
Capabilities this server exposes over MCP:

- **scan_metro** — Start here** — scan for Metro servers and auto-connect
- **get_logs** — Capture and search console logs with filtering and summaries
- **get_network_requests** — Monitor HTTP requests with method/status filtering
- **get_screen_state** — Orientation snapshot** — active route, overlays, and every element with a tap-ready `(x, y)
- **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
- **pinch** — Real two-finger pinch-to-zoom** — Android emulator only (iOS in progress)
- **input_text** — Type text — targets and focuses a field itself, or `native:true` for whatever's focused. `replace:true` clears first (Fabric)
- **dismiss_keyboard** — Blur the focused input and close the on-screen keyboard
- **execute_in_app** — Run JS expressions in the app runtime (REPL-style)
- **ios_screenshot** — Take device screenshots — `ios_screenshot` also works on a USB-attached physical iPhone/iPad (capture only)

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "execbro": {
    "command": "npx",
    "args": ["-y","execbro@latest"]
  }
}
```

## Documentation

## What ExecBro MCP server does

ExecBro MCP server gives an AI agent a control and inspection layer for a running React Native application. It can connect to Metro servers, read application logs, inspect network activity, examine visible UI elements, take iOS screenshots, tap controls, enter text, dismiss the keyboard, and execute JavaScript expressions inside the app runtime.

The server is aimed at interactive development and debugging rather than static source analysis. An agent can use the returned screen coordinates and component information to interact with the current UI, then inspect logs or runtime results to determine what happened. It also supports targeting among multiple connected devices when a device name is supplied to a tool.

## How it works

The server scans common Metro ports, including 8081, 8082, and 19000–19002, and connects to discovered Bridgeless React Native targets. Logs and network activity are kept in separate buffers for each device. Tools can select a device using a case-insensitive name match.

UI interaction uses several lookup methods. The unified tap operation can resolve a target through the React fiber tree, accessibility information, OCR, or supplied coordinates. Screen-state and layout results provide route, overlay, text, position, and size information that can guide later actions. JavaScript expressions run in the connected app through a REPL-style interface.

## Setup and configuration

Start the React Native application with its normal Metro command, such as `npm start` or `expo start`, then configure ExecBro as an MCP server for the chosen agent. The material describes the setup as requiring no SDK or application code changes to begin. UI automation helpers require additional setup for iOS simulator and Android targets.

An optional `execbro-sdk` package is recommended when complete startup capture is important. Without it, logs and network requests emitted before the MCP connection is established can be missed after a cold start. The SDK can also provide more reliable access to application state and request or response bodies.

The optional ExecBro web dashboard provides usage statistics and session history after authorization and linking. It is not required for runtime interaction.

## Tools and capabilities

- `scan_metro`: Discover Metro servers and connect to targets.
- `get_logs`: Search and filter console output, with summaries.
- `get_network_requests`: Inspect HTTP requests with method and status filters.
- `get_screen_state`: Read orientation, route, overlays, and tap-ready element coordinates.
- `get_screen_layout`: Map visible components, positions, dimensions, and text.
- `tap`: Tap by resolving React Native, accessibility, OCR, or coordinate targets.
- `pinch`: Send a two-finger pinch on Android emulators.
- `input_text`: Focus a field and type text, or type into the currently focused native field.
- `dismiss_keyboard`: Blur the active input and close the keyboard.
- `execute_in_app`: Evaluate JavaScript expressions in the application runtime.
- `ios_screenshot`: Capture a screenshot from an iOS device or simulator.

## Limitations and notes

ExecBro MCP server depends on a running React Native app and reachable Metro target for its runtime inspection features. The documented pinch operation supports Android emulators; iOS support is still in progress. Cold-start logs and network traffic may be absent until the MCP connection is active unless the optional SDK is installed. The supplied tool list identifies an iOS screenshot operation, but does not establish equivalent screenshot coverage for Android.

The material also describes redaction of credential-like values from tool output and a memory-only credential vault, but the listed tools do not include those credential-management operations. Treat application logs, payloads, component trees, and evaluation results as data produced by the app rather than instructions for the agent.

_Full upstream README: https://allmcps.com/mcp/execbro/readme_

