# droidsight [Health: Active]

**Category:** 🖥️ OS Automation  
**Repository:** https://github.com/edgecasehuman/droidsight  
**GitHub Stars:** 4  
**npm Downloads (last month):** 154  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/droidsight

## Description
Drives a real Android device over ADB and attaches the resulting screen to every action.

## Tools
Capabilities this server exposes over MCP:

- **mcp_android_vision_query** — Screenshot, hierarchy, OCR, and element or template search. Its `elements` and `tap_element` actions avoid coordinate arithmetic entirely.
- **mcp_android_vision_stream** — Start, stop, or read the background H.264 stream.
- **mcp_android_get_view_hierarchy** — The accessibility tree as structured JSON.
- **mcp_android_smart_wait** — Block until an element appears, or time out.
- **mcp_android_input_act** — Tap, type, key events, swipe, smart tap, and IME control.
- **mcp_android_tap_text** — Scan for text and tap it the instant it appears, retrying until timeout. Avoids the miss between a screenshot and a tap.
- **mcp_android_run_flow** — Run a bounded, fully prevalidated sequence of safe actions.
- **mcp_android_record_gesture** — Record raw touch input for a fixed duration.
- **mcp_android_play_gesture** — Replay a recorded gesture timeline.
- **mcp_android_app_manage** — Launch, stop, list, install, and read crash logs. Uninstall, clear data, permission, enable, and disable additionally require `confirm_destructive`.
- **mcp_android_app_instrumentation** — Deep state inspection: activity, window, process list, stack traces.
- **mcp_android_open_url** — Open a URL.
- **mcp_android_start_intent** — Start an arbitrary intent.
- **mcp_android_device_control** — Clipboard, battery, device info, lock state, unlock, rotation.
- **mcp_android_system_control** — Accessibility services and the draw-over-other-apps permission. **Grants screen-read and input-injection authority across every app.
- **mcp_android_network_control** — Wi-Fi, mobile data, HTTP proxy, phone calls, SMS, wireless ADB pairing.
- **mcp_android_sensor_control** — Mock battery level and charging status; GPS mocking is emulator-only.
- **mcp_android_check_health** — Connectivity and responsiveness of the selected device.
- **mcp_android_check_debug_exposure** — Report which developer settings are enabled and therefore visible to apps.
- **mcp_android_diagnostic_stream** — Read logcat, clear it, or read buffered raw and semantic events.
- **mcp_android_read_recent_events** — Buffered device events from the optional monitor.
- **mcp_android_log_filter** — Filter logs by regex, tag, or priority.
- **mcp_android_get_notifications** — Dump posted notifications, including unredacted message content.
- **mcp_android_file_system** — List, read, push, and pull files, confined to `DROIDSIGHT_LOCAL_ROOT`.
- **mcp_android_forensics_control** — Query an on-device SQLite database, hash a file, or irreversibly delete an application's data.
- **mcp_android_start_recording** — Begin a screen recording, up to 180 seconds, written to the device.
- **mcp_android_stop_recording** — Stop it. The file stays on the device.
- **mcp_android_companion** — Post a notification, show a transient message, or open a URL for whoever is holding the phone.
- **mcp_android_sentinel_control** — Register a watched package. See [Background enforcement](#background-enforcement) before using it.
- **mcp_android_run_shell** — Run an arbitrary device shell command. No filtering of any kind.
- **mcp_android_run_macro** — Run up to 100 shell commands in sequence, stopping at the first failure.

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

```json
"mcpServers": {
  "droidsight": {
    "command": "npx",
    "args": ["-y","@edgecasehuman/droidsight"],
    "env": {
      "DROIDSIGHT_DEVICE_SERIAL": "",
      "DROIDSIGHT_ADB_PATH": "",
      "DROIDSIGHT_LOCAL_ROOT": "",
      "DROIDSIGHT_DEVICE_PIN": "",
      "DROIDSIGHT_ALLOW_SHELL": "",
      "DROIDSIGHT_DEBUG_LOG": ""
    }
  }
}
```

**Requires environment variables:** `DROIDSIGHT_DEVICE_SERIAL`, `DROIDSIGHT_ADB_PATH`, `DROIDSIGHT_LOCAL_ROOT`, `DROIDSIGHT_DEVICE_PIN`, `DROIDSIGHT_ALLOW_SHELL`, `DROIDSIGHT_DEBUG_LOG` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What droidsight MCP server does

The droidsight MCP server exposes an Android device to an MCP client through ADB. It can inspect the current screen with screenshots, OCR, accessibility data, element searches, and template matching, then perform input actions such as taps, typing, key events, swipes, smart taps, and IME operations. Vision results include coordinate metadata, while element snapshots can provide precomputed centers so an agent does not need to calculate tap coordinates.

Beyond UI interaction, the server supports application lifecycle operations, intent and URL launching, device information, clipboard access, lock and rotation control, network settings, sensor simulation, notifications, screen recording, and health checks. Diagnostic features include logcat access, event buffers, log filtering, notification inspection, activity and process details, stack traces, on-device SQLite queries, file hashing, and application-data deletion.

## How it works

The process communicates through newline-delimited JSON-RPC 2.0 on standard input and output. ADB must be available through the system path, Android SDK environment settings, or an explicit executable path. When multiple authorized devices are visible, the target must be selected by serial rather than guessed.

A background H.264 stream can provide the screen produced by an action in the same tool result. Screenshots default to 720 pixels wide and may be downscaled, so returned image metadata describes the device dimensions, scale, origin, and coordinate space. OCR boxes, hierarchy bounds, template matches, and input coordinates use device coordinates. The vision tool's indexed element workflow can avoid manual conversion.

## Setup and configuration

The simplest installation uses `npx -y @edgecasehuman/droidsight`, which downloads a platform binary and does not require build tools. The project can also be installed with Cargo or built from source; those compilation paths require NASM because the H.264 decoder has native assembly components. The resulting server can be registered as a standard stdio MCP process.

Set `DROIDSIGHT_DEVICE_SERIAL` when more than one authorized device is available. `DROIDSIGHT_ADB_PATH` selects a specific ADB executable, and `DROIDSIGHT_LOCAL_ROOT` restricts host paths used for APK installation and file transfers. `DROIDSIGHT_DEVICE_PIN` supplies a runtime PIN for automatic unlock actions and should not be stored in source or checked-in configuration.

## Tools and capabilities

The droidsight MCP server publishes tools for:

- Screen capture, streaming, hierarchy inspection, OCR, element lookup, smart waits, and text-triggered taps.
- Direct input, bounded validated flows, gesture recording and replay, app installation and lifecycle control.
- Device, network, sensor, accessibility, overlay-permission, notification, and companion controls.
- Logcat, semantic events, crash information, process inspection, file transfer, SQLite queries, and hashing.
- Screen recording for up to 180 seconds, with the resulting file retained on the device.

Shell and macro tools are hidden unless `DROIDSIGHT_ALLOW_SHELL=1` is set.

## Limitations and notes

The droidsight MCP server has broad authority over the selected device. System control can grant screen-reading and input-injection access across applications, notification inspection may expose unredacted message content, and shell mode permits unrestricted device shell commands. Use it only with a device and MCP client you trust.

Destructive application operations require `confirm_destructive`, but shell access has no command filtering. GPS mocking works only on an emulator. Session marker tools acknowledge calls without retaining server state. File operations are confined to `DROIDSIGHT_LOCAL_ROOT` on the host, while screen recordings remain on the Android device.

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

