Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Drives a real Android device over ADB and attaches the resulting screen to every action.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
DROIDSIGHT_DEVICE_SERIAL, DROIDSIGHT_ADB_PATH, DROIDSIGHT_LOCAL_ROOT, DROIDSIGHT_DEVICE_PIN, DROIDSIGHT_ALLOW_SHELL, DROIDSIGHT_DEBUG_LOG, DROIDSIGHT_LOG, DROIDSIGHT_EVENTS, DROIDSIGHT_SENTINELAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"droidsight": {
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_SERIAL": "your-value",
"DROIDSIGHT_ADB_PATH": "your-value",
"DROIDSIGHT_LOCAL_ROOT": "your-value",
"DROIDSIGHT_DEVICE_PIN": "your-value",
"DROIDSIGHT_ALLOW_SHELL": "your-value",
"DROIDSIGHT_DEBUG_LOG": "your-value",
"DROIDSIGHT_LOG": "your-value",
"DROIDSIGHT_EVENTS": "your-value",
"DROIDSIGHT_SENTINEL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add droidsight --env DROIDSIGHT_DEVICE_SERIAL=your-value --env DROIDSIGHT_ADB_PATH=your-value --env DROIDSIGHT_LOCAL_ROOT=your-value --env DROIDSIGHT_DEVICE_PIN=your-value --env DROIDSIGHT_ALLOW_SHELL=your-value --env DROIDSIGHT_DEBUG_LOG=your-value --env DROIDSIGHT_LOG=your-value --env DROIDSIGHT_EVENTS=your-value --env DROIDSIGHT_SENTINEL=your-value -- npx -y @edgecasehuman/droidsightTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"droidsight": {
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_SERIAL": "your-value",
"DROIDSIGHT_ADB_PATH": "your-value",
"DROIDSIGHT_LOCAL_ROOT": "your-value",
"DROIDSIGHT_DEVICE_PIN": "your-value",
"DROIDSIGHT_ALLOW_SHELL": "your-value",
"DROIDSIGHT_DEBUG_LOG": "your-value",
"DROIDSIGHT_LOG": "your-value",
"DROIDSIGHT_EVENTS": "your-value",
"DROIDSIGHT_SENTINEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"droidsight": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@edgecasehuman/droidsight"
],
"env": {
"DROIDSIGHT_DEVICE_SERIAL": "your-value",
"DROIDSIGHT_ADB_PATH": "your-value",
"DROIDSIGHT_LOCAL_ROOT": "your-value",
"DROIDSIGHT_DEVICE_PIN": "your-value",
"DROIDSIGHT_ALLOW_SHELL": "your-value",
"DROIDSIGHT_DEBUG_LOG": "your-value",
"DROIDSIGHT_LOG": "your-value",
"DROIDSIGHT_EVENTS": "your-value",
"DROIDSIGHT_SENTINEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
DROIDSIGHT_DEVICE_SERIAL envDROIDSIGHT_ADB_PATH envDROIDSIGHT_LOCAL_ROOT envDROIDSIGHT_ALLOW_SHELL envDROIDSIGHT_DEBUG_LOG envDROIDSIGHT_LOG envDROIDSIGHT_EVENTS envDROIDSIGHT_SENTINEL envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto edgecasehuman bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: DROIDSIGHT_DEVICE_PIN
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.0.0) kam vor 3 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Apify MCP Server
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
An MCP server that drives a real Android device over ADB — and hands the agent back the screen its action produced.
One native binary. The server has no Python, Appium, scrcpy, or ffmpeg dependency and runs no Node at all — npx below is only a convenient installer — so the runtime is the binary plus adb. A background H.264 screenrecord stream is decoded in process, so the screen that follows an action is attached to the tool result automatically instead of costing a second round trip to ask what happened.
Every image carries the coordinate space it was produced in, so a model can tap what it just looked at without guessing a scale factor. When the accessibility tree comes back empty — Flutter, React Native, canvas, games — OCR and template matching still find the target.
This is a powerful local controller, not a sandbox. Run it only against a device and an MCP client you trust.
npx -y @edgecasehuman/droidsight
That downloads a prebuilt binary for your platform and needs no build tools. The server is also listed in the official [MCP Registry] as io.github.edgecasehuman/droidsight.
To compile it instead, from [crates.io]:
cargo install droidsight
Or from source:
cargo build --locked --release --bin droidsight
Both compiling routes need NASM on the PATH. The H.264 decoder is built from C++ by openh264-sys2, which assembles its hot paths with NASM, and no platform ships it by default -- without it the build fails inside a transitive dependency rather than in this crate. Install it with apt install nasm, brew install nasm, or winget install NASM.NASM. The npx route above needs none of this.
The server is target/release/droidsight. It speaks newline-delimited JSON-RPC 2.0 over stdin and stdout.
{
"mcpServers": { "android": { "command": "npx", "args": ["-y", "@edgecasehuman/droidsight"], "env": { "DROIDSIGHT_DEVICE_SERIAL": " " } } } }
ADB must be reachable through PATH, ANDROID_SDK_ROOT, ANDROID_HOME, or an explicit DROIDSIGHT_ADB_PATH. If more than one authorized device is visible the server refuses to guess; set DROIDSIGHT_DEVICE_SERIAL.
Thirty-one tools are published by default. Two more appear only when DROIDSIGHT_ALLOW_SHELL=1 is set, and are listed last.
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose |
|---|---|
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. |
| Tool | Purpose |
|---|---|
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 before using it. |
mcp_android_start_session, mcp_android_stop_session | Session markers. They acknowledge the call and hold no server state. |
DROIDSIGHT_ALLOW_SHELL=1| Tool | Purpose |
|---|---|
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. |
Screenshots are downscaled to 720 pixels wide by default, so a coordinate read off the returned pixels is usually not a device coordinate. Every tool that returns an image also returns a metadata.image object describing how to convert one:
{
"image": { "width": 720, "height": 1600, "device_width": 1080, "device_height": 2400, "origin_x": 0, "origin_y": 0, "scale": 1.5, "coordinate_space": "image", "note": "To convert a coordinate (x, y) read from this image into a device coordinate: device_x = 0 + x * 1.5, device_y = 0 + y * 1.5." } }
When coordinate_space is device, the image is already 1:1 and coordinates can be used directly. Request max_width: 1440 to reduce or remove downscaling. Crops additionally report a non-zero origin_x/origin_y that must be added after scaling.
Taps, uiautomator hierarchy bounds, OCR boxes, and template matches are all in device coordinates. The background stream runs screenrecord without --size, so decoded frames are native resolution and share that one space.
You can avoid the arithmetic entirely. The mcp_android_vision_query tool's elements action returns an indexed snapshot with a precomputed center per element, and its tap_element action takes that snapshot_id and an index.
| Variable | Effect |
|---|---|
DROIDSIGHT_DEVICE_SERIAL | The only Android target the process may use. Mandatory when ADB reports multiple authorized devices. |
DROIDSIGHT_ADB_PATH | Explicit path to the ADB executable. |
DROIDSIGHT_LOCAL_ROOT | Confines host paths used by APK installation and file push/pull. Defaults to the process working directory. |
DROIDSIGHT_DEVICE_PIN | Numeric PIN for UI actions that need automatic unlock. Supply at runtime only; never in source or a checked-in MCP configuration. |
DROIDSIGHT_ALLOW_SHELL=1 | Publishes the arbitrary shell and macro tools. This grants authority equivalent to broad ADB shell access. Off by default. |
DROIDSIGHT_DEBUG_LOG | Path to a persistent debug log. Logging to a file is strictly opt-in; without this, warnings go to stderr and no file is written. |
DROIDSIGHT_LOG | Tracing filter. Defaults to warn, or debug when a debug log path is set. |
DROIDSIGHT_EVENTS=1 | Starts the long-running device event monitor. Requires DROIDSIGHT_DEVICE_SERIAL. |
DROIDSIGHT_SENTINEL=1 | Starts the background enforcement loop described under Background enforcement. Off by default: it re-applies device state on a timer, including unlocking the screen. |
One background H.264 screenrecord stream starts at process startup and the latest decoded RGB frame is kept in memory. Screenshot tools and input observations read that cache, so a snapshot is available immediately once the first frame decodes. A static screen's last frame stays valid while the stream runs; it does not expire merely because the encoder stopped emitting unchanged pixels.
The stream allows 20 seconds for the first decodable frame before reconnecting. After that, silence is treated as a static screen, while EOF and read errors still reconnect. Starting or stopping a stream synchronously clears its frame cache so a previous session's image cannot be reused. The mcp_android_vision_stream stop action suspends capture until an explicit start; shutdown drops the owned ADB stream and leaves no screenrecord process behind.
Continuous capture has privacy, battery, CPU, and wireless-bandwidth costs. The device screen may contain sensitive information even though cached frames stay in process memory until a tool returns one. Use the explicit stop action when capture should be suspended.
Stdout carries one JSON-RPC value per line; diagnostics go to stderr. The server supports initialize, tools/list, and tools/call, plus the initialized notification and legacy mcp.* aliases. Batch arrays are handled member by member and produce one response-array line; notification-only batches produce no output and empty batches are rejected. Clients must complete the ordered initialize request and notifications/initialized notification handshake before listing or calling tools; premature calls return JSON-RPC error -32002. Input frames are limited to 16 MiB; oversized or invalid UTF-8 frames are rejected without preventing the next valid request from being processed.
Published text from logs, events, notifications, device files, hierarchy and OCR results, crash and forensic reports, instrumentation, shell/macro output, and aggregate flows is limited to 256 KiB. Truncated responses carry metadata.truncation with the strategy, original size, returned size, and configured limit; chronological feeds retain their newest tail while file-like output retains its head.
Finite ADB subprocesses drain stdout and stderr concurrently and retain at most 4 MiB from each stream while counting all observed bytes, which prevents pipe deadlocks and unbounded capture. The opti
Nur der Anfang wird gezeigt; den Rest findest du im Repo