DeepADB
DeepADB
MCP-Server (Model Context Protocol) für KI-Agenten, die Android-Geräte über ADB inspizieren, steuern, testen und diagnostizieren müssen – oder direkt auf dem Gerät über Termux.
204 Tools, 5 Ressourcen und 4 Prompts in 45 Modulen – von UI-Automatisierung und Anwendungsverwaltung bis hin zu Protokollen, Netzwerkerfassung, Basisband, Firmware, Sicherheit und Hardware-Diagnose.
Get started
DeepADB läuft als lokaler MCP-Server. Es verwendet standardmäßig ADB und wechselt automatisch zur direkten Ausführung, wenn es Termux auf einem Android-Gerät erkennt.
git clone https://github.com/fullread/DeepADB.git
cd DeepADB
npm ci
npm run build
npm startFügen Sie build/index.js zu Ihrer MCP-Client-Konfiguration hinzu und beginnen Sie dann mit diesen Workflows:
Ziel | Beginnen Sie mit |
Toolchain und verbundenes Gerät bestätigen |
|
Aktuelle Android-Benutzeroberfläche untersuchen |
|
Gerät oder App diagnostizieren |
|
Für eine geführte lokale Verbindung siehe Claude Code Configuration. Lesen Sie SECURITY.md, bevor Sie HTTP-, WebSocket- oder GraphQL-Transports über Loopback hinaus freigeben.
Related MCP server: android-mcp-server
Architecture
┌──────────────────────────────────────────────────┐
│ MCP Client │
│ (Claude Code / claude.ai) │
└──────────────────────┬───────────────────────────┘
│ stdio (JSON-RPC) or HTTP/SSE or WebSocket
┌──────────────────────▼───────────────────────────┐
│ DeepADB Server │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Tool Modules (45) │ │
│ │ device │ shell │ packages │ files │ logs │ │
│ │ diagnostics │ ui │ build │ health │ │
│ │ wireless │ control │ logcat-watch │ │
│ │ forwarding │ screen-record │ emulator │ │
│ │ testing │ multi-device │ snapshot │ │
│ │ network-capture │ ci │ plugins │ baseband │ │
│ │ accessibility │ regression │ │
│ │ device-farm │ registry │ at-commands │ │
│ │ screenshot-diff │ workflow │ sensors │ │
│ │ split-apk │ mirroring │ test-gen │ │
│ │ ota-monitor │ ril-intercept │ │
│ │ device-profiles │ firmware-analysis │ │
│ │ workflow-market │ selinux-audit │ │
│ │ thermal-power │ network-discovery │ │
│ │ input-gestures │ wireless-firmware │ │
│ ├─────────────────────────────────────────────┤ │
│ │ Resources (5) │ Prompts (4) │ │
│ └───────────────────┬─────────────────────────┘ │
│ │ │
│ ┌───────────────────▼─────────────────────────┐ │
│ │ ToolContext (unified DI) │ │
│ │ server │ bridge │ deviceManager │ │
│ │ logger │ security │ config │ │
│ └───────────────────┬─────────────────────────┘ │
│ │ │
│ ┌───────────────────▼─────────────────────────┐ │
│ │ Middleware Layer │ │
│ │ OutputProcessor │ SecurityMiddleware │ │
│ │ InputSanitizer │ Logger (stderr-safe) │ │
│ └───────────────────┬─────────────────────────┘ │
│ │ │
│ ┌───────────────────▼─────────────────────────┐ │
│ │ Bridge Layer (auto-detect) │ │
│ │ │ │
│ │ ┌─────────────┐ ┌────────────────────┐ │ │
│ │ │ ADB Bridge │ OR │ Local Bridge │ │ │
│ │ │ (PC mode) │ │ (on-device mode) │ │ │
│ │ │ via adb.exe │ │ via sh/su direct │ │ │
│ │ └──────┬───────┘ └────────┬───────────┘ │ │
│ │ │ │ │ │
│ │ Retry │ Timeout │ Cache │ Serial routing │ │
│ └─────────┼─────────────────────┼─────────────┘ │
└────────────┼─────────────────────┼───────────────┘
│ │
┌───────▼───────┐ ┌───────▼───────┐
│ ADB Binary │ │ sh / su │
│ (USB/WiFi) │ │ (local) │
└───────┬───────┘ └───────┬───────┘
│ │
┌─────▼────────────────────▼─────┐
│ Android Device │
└────────────────────────────────┘Dual-Mode Architecture
DeepADB arbeitet in zwei Modi, die beim Start automatisch erkannt werden:
ADB Mode (default) — PC-side bridge
AI Agent (PC) ←→ MCP ←→ DeepADB (PC) ←→ ADB (USB) ←→ Android DeviceStandardmodus: DeepADB läuft auf einem PC/Mac/Linux-Host und kommuniziert über USB mit dem Gerät über ADB. Alle 204 Tools arbeiten über die ADB-Brücke mit automatischem Wiederholungsversuch bei vorübergehenden Fehlern.
On-Device Mode — direct local execution
AI Agent (Termux) ←→ MCP (stdio/HTTP) ←→ DeepADB (Termux) ←→ sh/su (local)Wenn DeepADB direkt auf dem Android-Gerät läuft (z. B. in Termux), erkennt es die Umgebung automatisch und wechselt zu LocalBridge. Befehle werden direkt über sh/su ausgeführt – kein ADB-Server, kein USB, kein Serialisierungs-Overhead. Alle 204 Tools funktionieren identisch, mit deutlich geringerer Latenz.
Auf Hardware validiert (Pixel 6a, Android 16, Termux + Magisk + QEMU 10.2.1) über eine Vier-Zellen-Testmatrix – Host (ADB) und On-Device (LocalBridge), jeweils mit und ohne Geräte-PIN – mit 0 Fehlern in jeder Zelle. Die vollständige Suite umfasst 577 Tests in der Host/ADB-Konfiguration und 613 auf dem Gerät; der Unterschied sind die QEMU-Virtualisierungs- und Alpine-VM-Boot-Suiten, die nur auf dem Gerät ausgeführt werden:
ADB-Modus, ohne PIN: 556 bestanden / 0 fehlgeschlagen / 21 übersprungen (577 gesamt). Übersprungen: 5 QEMU (nur auf dem Gerät), 7 gracefulKill-Unit-Tests (erfordern POSIX-Signale, auf dem Windows-Host übersprungen), 3 tcpdump-Sanitisierung (tcpdump ist nur mit Root verfügbar und über eine Nicht-Root-ADB-Shell nicht erreichbar), 2 Host-Shell-Roundtrips (erfordern eine POSIX-/bin/sh), 4 Screen-State (erfordern DA_TEST_PIN).
ADB-Modus, mit PIN: 560 bestanden / 0 fehlgeschlagen / 17 übersprungen (577 gesamt). Die 4 Screen-State-Tests entsperren und laufen.
On-Device-Modus, ohne PIN: 606 bestanden / 0 fehlgeschlagen / 7 übersprungen (613 gesamt). Alle QEMU-Tests laufen, einschließlich Alpine-Linux-VM-Boot mit KVM-Beschleunigung, big.LITTLE-CPU-Topologie-Erkennung, Fehlerbehandlung bei Gast-ADB-Konnektivität und sauberem VM-Herunterfahren; die tcpdump- und gracefulKill-Suiten laufen ebenfalls hier (Root + POSIX). Übersprungen: 3 QEMU-Einrichtungsschritte, die nichts tun, wenn Alpine-Kernel/initrd/Disk bereits zwischengespeichert sind, 4 Screen-State (erfordern PIN).
On-Device-Modus, mit PIN: 610 bestanden / 0 fehlgeschlagen / 3 übersprungen (613 gesamt). Jeder durch die Umgebung aktivierte Test läuft; die 3 Überspringungen sind die zwischengespeicherten VM-Einrichtungsschritte.
Rechteerweiterung: Im ADB-Modus laufen alle Shell-Befehle als uid=2000 (der shell-Benutzer), der Systemberechtigungen hat. In Termux laufen Befehle als normaler App-Benutzer. LocalBridge erhöht privilegierte Befehle automatisch über su, wenn Root (Magisk) verfügbar ist:
Befehls-Allowlist: 16 Systembefehle (
settings,dumpsys,am,input,screencap,screenrecord,uiautomator,app_process,getenforce,setenforce,cmd,pm,wm,svc,ip,ifconfig) werden übersu -cgeleitet, um das Verhalten des ADB-Modus zu erreichen.Pfadbasierte Erweiterung: Befehle, die auf
/sdcard,/storageoder/system/-Pfade verweisen, werden erhöht, um die Android-Scoped-Storage-Einschränkungen zu umgehen.Root-Erkennung: Wird nach einer einzelnen
su -c id-Sonde bei der ersten Verwendung zwischengespeichert. Sanfte Degradierung, wenn Root nicht verfügbar ist.Die Erweiterungs-Allowlist ist eingefroren (
ReadonlySet+Object.freeze) – nicht über Umgebungsvariablen oder die Laufzeit-API konfigurierbar.
Automatische Erkennung: Prüft auf /system/build.prop (auf allen Android-Geräten vorhanden, nie auf Hosts). Überschreiben mit DA_LOCAL=true oder DA_LOCAL=false.
On-Device-Einrichtung (Termux):
pkg install nodejs-lts git
git clone <deepadb-repo> && cd deepadb
npm install && npm run build
npm start # stdio — for local AI agents (Claude Code, OpenCode)
DA_HTTP_PORT=3000 npm start # HTTP/SSE — for remote AI access over WiFiClaude Code Configuration
{
"mcpServers": {
"deepadb": {
"command": "node",
"args": ["/path/to/DeepADB/build/index.js"]
}
}
}Available Tools (204)
Beginnen Sie mit dem Funktionsbereich, der zu Ihrer Aufgabe passt; die vollständige Referenz finden Sie weiter unten.
Complete tool reference
Health (1 tool)
adb_health_check– Umfassende Toolchain-Validierung: ADB-Binärdatei, Server, Geräteverbindung, Autorisierung, Root-Zugriff und Schreibbarkeit des Speichers
Device (3 tools)
adb_devices– Alle verbundenen Geräte mit Status, Modell und Produktinformationen auflistenadb_device_info– Detaillierte Geräteeigenschaften (Modell, OS, SDK, Build, Sicherheitspatch, ABI)adb_getprop– Eine bestimmte Systemeigenschaft lesen oder alle Eigenschaften ausgeben
Shell (2 tools)
adb_shell– Beliebige Shell-Befehle mit konfigurierbarem Timeout ausführen (sicherheitsgeprüft)adb_root_shell– Befehle als Root über su ausführen (erfordert gerootetes Gerät, sicherheitsgeprüft)
Packages (12 tools)
adb_install– APK mit Ersetzen/Downgrade-Optionen installierenadb_uninstall– Paket mit optionaler Datenaufbewahrung entfernenadb_list_packages– Pakete nach Name oder Typ gefiltert auflisten (alle/System/Drittanbieter)adb_package_info– Detaillierte Paketinformationen (Version, Berechtigungen, Pfade)adb_clear_data– Alle App-Daten und den Cache löschenadb_grant_permission– Eine Laufzeitberechtigung für ein Paket erteilenadb_revoke_permission– Eine Laufzeitberechtigung von einem Paket entziehen (Berechtigungsstatus für Tests von Verweigerungsabläufen zurücksetzen)adb_list_permissions– Alle deklarierten und erteilten Berechtigungen für ein Paket auflisten, filterbar nach erteilt/verweigertadb_force_stop– Eine App sofort erzwingen stoppenadb_start_app– Eine App anhand des Paketnamens starten (löst Launcher-Aktivität auf)adb_restart_app– Erzwingen stoppen und dann in einem Aufruf neu starten (konfigurierbare Verzögerung)adb_resolve_intents– Registrierte Aktivitäten, Dienste und Empfänger mit Intent-Filtern entdecken
Files (18 tools)
adb_push– Lokale Datei auf das Gerät übertragen (hart blockierte Kernel-Pfade, Dateisystemtyp-Bewusstsein, Speicherberichterstattung)adb_pull– Datei vom Gerät in das lokale Dateisystem übertragenadb_ls– Inhalte des Geräteverzeichnisses auflisten (einfach oder detailliert)adb_cat– Textdatei vom Gerät lesen, optional mit Zeilenlimitadb_file_write– Textdateien per Heredoc erstellen oder überschreiben (Pufferlimit-Warnung, dateisystembewusst, Nachprüfung)adb_find– Dateien nach Name/Muster suchen mit Tiefenkontrolle und Ergebnisbegrenzungadb_file_stat– Dateimetadaten: Größe, Berechtigungen, Zeitstempel, Eigentümer, SELinux-Kontextadb_file_checksum– SHA-256/SHA-1/MD5-Hash mit größenbasierter Timeout-Schätzungadb_mkdir– Verzeichnisse mit Eltern-Erstellung (-p) erstellen, hart blockierte Kernel-Pfadeadb_rm– Dateien/Verzeichnisse löschen mit tiefenbasierter rekursiver Schutz und Symlink-Auflösungadb_file_move– Verschieben/Umbenennen mit Quell-Tiefenschutz und Nachprüfungadb_file_copy– Kopieren mit Vorab-Größen-+Platz-Prüfung und Nachprüfung der Größenübereinstimmungadb_file_chmod– Berechtigungen ändern (Zod-validierter Oktalmodus, tiefenbasierter rekursiver Schutz)adb_file_touch– Leere Dateien erstellen oder Zeitstempel aktualisieren (explizite Zeitstempelunterstützung)adb_file_fsinfo– Dateisystembericht: Typ, Mount, Kapazität, Fähigkeiten, SELinux, Einschränkungenadb_file_chown– Eigentümer ändern (Root erforderlich, tiefenbasierter rekursiver Schutz)adb_grep– Dateiinhalte durchsuchen mit Fixed-String-Standard, rekursiver Tiefenkontrolle, Ergebnisbegrenzungadb_file_replace– Text in Dateien suchen/ersetzen (sed-basiert, korrektes Escaping, Sicherungsoption)
Logs — Snapshots (3 tools)
adb_logcat– Gefilterter Logcat-Snapshot mit Tag, Priorität, grep und Pufferauswahladb_logcat_clear– Alle Logcat-Puffer löschenadb_logcat_crash– Crash-Puffer-Protokoll-Snapshot
Logs — Persistent Watchers (4 tools)
adb_logcat_start– Einen Hintergrund-Logcat-Watcher mit Ringpuffer-Akkumulation startenadb_logcat_poll– Neue Zeilen seit der letzten Abfrage von einem laufenden Watcher abrufenadb_logcat_stop– Eine Watcher-Sitzung (oder alle Sitzungen) beendenadb_logcat_sessions– Alle aktiven Watcher-Sitzungen mit Statistiken auflisten
Diagnostics (9 tools)
adb_dumpsys– dumpsys für einen beliebigen Dienst ausführen (oder alle Dienste auflisten)adb_telephony– Zellinformationen, Signalstärke und Netzwerkregistrierung (parallele Abfrage)adb_battery– Akkustatus, Ladestand, Temperatur und Ladeinformationenadb_network– WLAN, Mobilfunk und IP-Konnektivität (parallele Abfrage)adb_top– CPU- und Speichernutzungs-Snapshotadb_perf_snapshot– Parallele Speicher-, Frame-Statistiken und CPU-Profilerstellung für ein Paketadb_bugreport– Vollständigen Bugreport-ZIP erfassen (Gerätestatus, Protokolle, Systeminformationen)adb_crash_logs– ANR-Traces und Tombstone-Crash-Dumps aus /data/anr/ und /data/tombstones/adb_heap_dump– Heap-Dump (.hprof) von einem laufenden Prozess für die Speicheranalyse erfassen
UI (10 tools)
adb_screencap— Erstellt einen Screenshot mit Dateinamen-Bereinigung und speichert ihn lokaladb_screencap_annotated— Screenshot mit Boundingboxen der UI-Elemente und nummerierten Beschriftungen, die auf das PNG komponiert werden. Gibt den Pfad des annotierten Bildes sowie eine Textlegende zurück. Ideal für LLM-Workflows, die Elemente per Nummer referenzierenadb_current_activity— Ruft die fokussierte Activity und den obersten Fensterstapel abadb_input— Sendet Tipp-, Wisch-, Text- oder Keyevent-Eingabenadb_start_activity— Startet Activities per Intent oder Komponentennamenadb_ui_dump— Gibt die vollständige UI-Hierarchie aus. Unterstützt drei Ausgabeformate:text(Standard, menschenlesbar),tsv(kompakt, tabulatorgetrennt, für token-effiziente Automationsschleifen),xml(rohes uiautomator-XML)adb_ui_find— Durchsucht die UI-Hierarchie nach Text, resource-id oder content-description (liefert Tippkoordinaten)adb_screen_state— Kombinierter Bildschirmzustand in einem Aufruf: Vordergrund-Activity, Bildschirmabmessungen und -dichte, Ausrichtung, Akkustand und eine TSV-Liste interaktiver Elemente. Ersetzt 3–4 separate Tool-Aufrufeadb_screenrecord_start— Startet die Aufnahme des Gerätebildschirms (1–180 s, wird auf dem Gerät gespeichert)adb_screenrecord_stop— Stoppt die Aufnahme und überträgt die mp4-Videodatei lokal
Gerätesteuerung (9 Tools)
adb_airplane_mode— Schaltet den Flugmodus per Broadcast um und verifiziert ihnadb_airplane_cycle— Schaltet den Flugmodus aus/ein, um die erneute Mobilfunkregistrierung zu erzwingenadb_wifi— Aktiviert oder deaktiviert WiFiadb_mobile_data— Aktiviert oder deaktiviert mobile Datenadb_location— Setzt den Standortmodus (off/sensors/battery/high)adb_screen— Weckt den Bildschirm auf, versetzt ihn in den Ruhezustand, schaltet ihn um, sperrt oder entsperrt ihn. Beim Sperren wird der Zustand der Bildschirmsperre überdumpsys windowgeprüft. Beim Entsperren wirdwm dismiss-keyguardverwendet (funktioniert bei Wisch-Sperrbildschirmen); bei Angabe vonpinwird die vollständige PIN-Eingabesequenz ausgeführt: Bildschirm aufwecken, Wischen nach oben zum Einblenden der Tastatur, PIN eingeben, bestätigen und verifizieren, dass das Sleep-Token der Bildschirmsperre freigegeben wurdeadb_settings_get— Liest jede beliebige Android-Einstellung aus dem system/secure/global-Namespaceadb_settings_put— Schreibt jede beliebige Android-Einstellung mit Rücklese-Verifikationadb_reboot— Startet das Gerät neu (Normal-, Recovery- oder Bootloader-Modus)
Drahtloses Debugging (4 Tools)
adb_pair— Koppelt das Gerät über WiFi mit dem Kopplungscodeadb_connect— Verbindet mit dem Gerät über WiFi/TCPadb_disconnect— Trennt drahtlose Geräte von der Verbindungadb_tcpip— Wechselt das USB-Gerät in den TCP/IP-Modus (erkennt die Geräte-IP automatisch)
Port-Weiterleitung (8 Tools)
adb_forward— Leitet einen lokalen Port an einen Geräteport weiter (Host → Gerät)adb_reverse— Leitet einen Geräteport in umgekehrter Richtung an den Host weiter (Gerät → Host)adb_forward_list— Listet alle aktiven Vorwärts- und Rückwärts-Portzuordnungen aufadb_forward_remove— Entfernt eine Portweiterleitung oder alle Weiterleitungenadb_reverse_remove— Entfernt eine umgekehrte Weiterleitung oder alle umgekehrten Weiterleitungenadb_tunnel_open— Öffnet einen verwalteten Tunnel mit opaker ID. Wenn keine Angabe erfolgt, wird automatisch ein freier Host-Port für die Vorwärtsrichtung gewählt; registriert eine Aufräumfunktion, damit der Tunnel beim Beenden des Servers entfernt wirdadb_tunnel_list— Listet aktive verwaltete Tunnel auf (solche, die über adb_tunnel_open geöffnet wurden). Optionaler Gerätefilter; zeigt ID, Richtung, Endpunkte und Alter anadb_tunnel_close— Schließt einen verwalteten Tunnel anhand der ID oder schließt mit id="all" alle auf einmal
Emulatorverwaltung (3 Tools)
adb_avd_list— Listet verfügbare AVDs auf (PC-Modus) oder erkennt KVM-/QEMU-Virtualisierungsfunktionen (Gerätemodus)adb_emulator_start— Startet ein AVD mit headless, Kaltstart- und GPU-Optionen (PC-Modus) oder meldet die QEMU-Alternative (Gerätemodus)adb_emulator_stop— Fährt einen laufenden Emulator sauber herunter
QEMU/KVM-Virtualisierung (8 Tools)
adb_qemu_setup— Prüft und installiert QEMU für die On-Device-Virtualisierung. Verifiziert KVM, meldet Host-CPU/RAM und installiert über Termux pkgadb_qemu_images— Verwaltet VM-Datenträger-Images: Auflisten, Erstellen (qcow2/raw), Löschen. Verhindert durch Verzeichnisbegrenzung Pfad-Traversaladb_qemu_start— Bootet eine KVM-beschleunigte VM mit dynamischer Ressourcenzuweisung. Erkennt automatisch die optimale CPU-Anzahl (Gesamtzahl minus 1, eine für den Host) und den Speicher (65 % des physischen RAMs). Unterstützt kernel/initrd/append für den Android-Boot sowie ADB-Portweiterleitungadb_qemu_stop— Stoppt eine laufende VM (sauberes SIGTERM oder erzwungenes SIGKILL). Trennt automatisch die Gast-ADB-Verbindung, bevor sie beendet wird. Meldet bei fehlendem Namen laufende VMsadb_qemu_status— Vollständiger Status: KVM/QEMU-Verfügbarkeit, Host-Ressourcenbudget, laufende VMs mit PID/Ressourcen/Uptime/Ports/ADB-Verbindungszustand sowie Image-Inventaradb_qemu_connect— Verbindet mit dem Gast-ADB-Dienst einer laufenden VM. Auf localhost beschränkt – der Port wird aus dem Zustand der laufenden VM abgeleitet, nie aus Benutzereingaben. Ermöglicht Multi-Geräte-Tools auf Gast-VMsadb_qemu_disconnect— Trennt die Verbindung zum ADB-Dienst einer Gast-VM. Löscht den Verbindungsstatus und entfernt den Gast aus der Gerätelisteadb_qemu_guest_shell— Führt per ADB Shell-Befehle auf einer Gast-VM aus. Unterliegt der Sicherheits-Middleware. Die Gast-Seriennummer wird intern abgeleitet – keine benutzereigene Host/IP erreicht das ADB-Binary
Testsitzungen (3 Tools)
adb_test_session_start— Startet eine benannte Testsitzung mit strukturiertem Ausgabeverzeichnisadb_input
adb_test_step— Erfasst in der Sitzung einen nummerierten Schritt mit Screenshot und Logcat
adb_test_session_end— Beendet die Sitzung, schreibt das Summary-Manifest und gibt den Verzeichnispfad zurück
Multi-Geräte-Orchestrierung (4 Tools)
adb_multi_shell— Führt einen Befehl auf allen/ausgewählten Geräten parallel aus (sicherheitsgeprüft)adb_multi_install— Installiert eine APK gleichzeitig über mehrere Geräteadb_multi_compare— Führt einen Befehl auf allen Geräten aus und hebt Ausgabeunterschiede hervoradb_multi_test— Vergleichender Test-Workflow: führt vorkonfigurierte Diagnoseprofile (firmware/security/network/identity/full) oder benutzerdefinierte Befehlslisten auf allen Geräten einschließlich QEMU-Gästen aus, gleicht pro Prüfung ab und meldet Übereinstimmungen sowie Unterschiede
Eingabegesten & UI-Automatisierung (15 Tools)
adb_input_drag— Drag from Punkt A to Punkt B (verwendetdraganddropmit Wisch-Fallback bei älterem Android)adb_input_fling— Hochgeschwindigkeits-Fling-Geste für Momentum-Scrolling durch Listen und umgeblätterte Ansichten (konfigurierbare Dauer 20–200 ms)adb_input_long_press— Langes Drücken an Koordinaten mit konfigurierbarer Haltezeitadb_input_double_tap— Doppeltippen mit konfigurierbarem Intervall zwischen den Tippsadb_input_text— Spezielle Texteingabe mit Verarbeitung von Leer- und Sonderzeichenadb_open_url— Öffnet über einen VIEW-Intent eine URL auf dem Gerätadb_orientation— Ermittelt oder setzt die Bildschirmorientierung (auto/portrait/landscape/reverse)adb_clipboard— Liest oder schreibt die Geräte-Zwischenablageadb_input_pinch— Multi-Touch-Pinch (Zoom out) oder Spread (Zoom in). Zwei Finger bewegen sich symmetrisch um einen Mittelpunkt. Die Injektion erfolgt mehrschichtig: parallelesinput swipe(universell, kein Root) oder rohessendevent-MT-Typ-B-Protokoll (echtes Multi-Touch, Root erforderlich). Touchscreen-Gerät und Fähigkeiten werden übergetevent -pautomatisch erkannt. Konfigurierbar sind Mittelpunkt, Radius, Dauer, Winkel und Interpolationsschritteadb_tap_element— Findet Elemente nach Text/Ressourcen-ID/content-description und tippt deren Mittelpunkt anadb_wait_element— Pollt die UI-Hierarchie, bis ein Element erscheint oder verschwindet (konfigurierbares Timeout/Poll-Intervall)adb_wait_stable— Pollt, bis aufeinanderfolgende UI-Dumps übereinstimmen (Bildschirmstabilisierung nach Übergängen)adb_scroll_until— Scrollt wiederholt, bis das Zielelement gefunden wird, wobei ein Auto-Tipp optional istadb_screenshot_compressed— Erstellt einen Screenshot mit Größen-/Qualitätsmetadaten für token-effiziente Arbeitsabläufeadb_batch_actions— Führt mehrere Eingabeaktionen (tap/swipe/fling/long_press/double_tap/keyevent/text/drag/pinch/back/home/sleep) in einem einzigen Tool-Aufruf mit Sicherheitsprüfung aus
Geräteinformationen (3 Tools)
adb_screen_size— Bildschirmauflösung, Anzeigedichte (DPI), Seitenverhältnis und DP-Breite in einem Aufrufadb_device_state— Kombinierter Schnappschuss: Akkulastand/-status/-temperatur, Netzwerktyp, WiFi-Zustand, Bildschirm an/aus, Ausrichtung, im Vordergrund befindliche Activityadb_notifications— Parst aktive Benachrichtigungen mit Paket, Titel, Text, Wichtigkeit, Kanal, Flags und Timestamp (filterbar nach Paket)
Snapshot/Wiederherstellung (3 Tools)
adb_snapshot_capture— Speichert den umfassenden Gerätezustand (Pakete, Einstellungen, Eigenschaften) als JSONadb_snapshot_compare— Vergleicht den aktuellen Stand mit einem gespeicherten Snapshot (hinzugefügte/entfernte Pakete, geänderte Einstellungen)adb_snapshot_restore_settings— Stellt global/secure-Einstellungen aus einem gespeicherten Snapshot wieder her
Netzwerk-Erfassung (3 Tools)
adb_tcpdump_start— Startet eine Hintergrund-Paketerfassung über tcpdump (erforderlich)adb_tcpdump_stop— Stoppt die Erfassung und zieht die pcap-Datei für Wireshark-Analysen lokaladb_network_connections— Zeigt aktive TCP/UDP-Verbindungen (ss/netstat mit Fallback auf /proc/net)
CI/CD-Integration (3 Tools)
adb_ci_wait_boot— Wartet mit konfigurierbarem Timeout auf den vollständigen Boot des Geräts bzw. Emulatorsadb_ci_device_ready— Strukturierter Pass/Fail-Bereitschaftscheck (Boot, PM, Bildschirm, Netzwerk, Disk)adb_ci_run_tests— Führt instrumentierte Tests überam instrumentaus und parst die Ergebnisse als bestanden/nicht bestanden
Basisband/Modem (6 Tools)
adb_baseband_info— Modem-Firmware, RIL-Implementierung, Chipsatz, SIM-Konfiguration (Dual-SIM-Erkennung mit Zustand pro Slot), Netzregistrierung. IMEI-Abruf erfolgt ausschließlich optional (includeImei=true)adb_cell_identity— Cell ID (CID), TAC/LAC, EARFCN, PCI, PLMN aus dumpsys phone zur Mobilfunknetzanalyseadb_signal_detail— RSRP, RSRQ, SINR, RSSI, Timing-Advance — rohe Funkmesswerte für die Signalanalyseadb_neighboring_cells— Alle sichtbaren LTE/5G/WCDMA/GSM-Zellen mit Identitäten und Signalstärkenadb_carrier_config— Carrier-Konfigurationsdump, Carrier-ID, bevorzugter APNadb_modem_logs— RIL-Funkpuffer, Telefonie-Framework, RILJ/RILC, Kernel dmesg (Root)-Protokolle
Barrierefreiheits-Audit (3 Tools)
adb_a11y_audit— Automatisierte WCAG-Prüfung: fehlende Labels, zu kleine Touch-Ziele (<48 Elem), doppelte Beschreibungen, nicht fokussierbare Klick-Elementeadb_a11y_touch_targets— Listet alle interaktiven Elemente mit Touch-Zielmaßen in dp auf und kennzeichnet zu kleineadb_a11y_tree— Barrierefreiheits-fokussierter UI-Baum mit nur Screenreader-relevanten Elementen und Rollen, Labels und State-Informationen
Regressionserkennung (3 Tools)
adb_regression_baseline— Erfasst die Leistungsbasislinie (Speicher, CPU, Frame-Statistiken, Akku, Netzwerk) als JSONadb_regression_check— Vergleicht die aktuelle Leistung mit einer gespeicherten Basislinie sowie konfigurierbaren Auslöseschwellenadb_regression_history— Listet alle gespeicherten Basislinien mit Trend auf, optional gefiltert nach Paket
Device Farm (3 Tools)
adb_farm_run— Führt instrumentierte Tests auf Firebase Test Lab über mehrere Gerätemodelle und API-Ebenen ausadb_farm_results— Ruft Ergebnisse eines Test-Lab-Laufs ab oder listet aktuelle Test-Matrizen aufadb_farm_matrix_nis— Listet auf Firebase Test Lab verfügbare Gerätemodelle und Android-Versionen auf
Plugin-Registry (3 Tools)
adb_registry_search— Durchsucht die Community-Plugin-Registry und zeigt Installationsstatus und verfügbare Updatesadb_registry_install— Lädt ein Plugin aus der Registry herunter und installiert es namentlichadb_registry_installed— Listet lokal installierte Plugins mit Version und Update-Verfügbarkeit
Plugins (2 Tools)
adb_plugin_listadb_at_detect— Automatische Erkennung des AT-Befehls-Geräteknotens des Modems anhand der Chipsatz-Familie (Shannon, Qualcomm, MediaTek, Unisoc, generisch). Durchsucht bekannte Pfade und gibt den ersten antwortenden Knoten zurückadb_at_send— Sendet einen einzelnen AT-Befehl an das Modem mit Antwort-Erfassung. Automatische Port-Erkennung oder manuelle Überschreibung möglich. Blocklist für gefährliche Befehle mit Force-Überschreibungadb_at_batch— Sendet mehrere AT-Befehle nacheinander mit Ergebnissen pro Befehl. Konfigurierbare Verzögerung zwischen Befehlenadb_at_probe— Führt eine standardmäßige Diagnoseprüfung durch: Modem-ID, Signalqualität, Netzregistrierung, SIM-Status, Betreiber, Funktionsmodusadb_at_cross_validate— Kreuzvalidiert die Basisband-Firmware durch Vergleich der AT-Befehlsantworten (ATI, AT+CGMR, AT+CGMM) mit Systemeigenschaften. Kennzeichnet Abweichungen als mögliche Firmware-Manipulation, unvollständiges OTA oder Property-Spoofing. Shannon-spezifische AT+DEVCONINFO-Unterstützung. Erfordert Root
Screenshot-Diffing (3 Tools)
adb_screenshot_baseline— Erfasst und speichert eine benannte Screenshot-Baseline mit Metadaten (Abmessungen, SHA-256, Zeitstempel)adb_screenshot_diff— Vergleicht den aktuellen Bildschirm mit einer gespeicherten Baseline mittels Pixel-genauer PNG-Dekodierung. Meldet Anzahl/Prozentsatz geänderter Pixel, Begrenzungsrahmen des geänderten Bereichs und unterstützt einen Toleranzschwellenwert zur Absorption dynamischer Elemente wie Uhrenadb_screenshot_history— Listet alle gespeicherten Screenshot-Baselines mit Metadaten auf
Workflow-Orchestrierung (3 Tools)
adb_workflow_run— Führt einen JSON-definierten Workflow aus: sequenzielle Geräteoperationen mit Variablenersetzung, bedingten Schritten, Schleifen und Ergebnis-Erfassung. Aktionen: shell, root_shell, install, screenshot, logcat, getprop, sleepadb_workflow_validate— Validiert die Workflow-Struktur ohne Ausführung. Zeigt den Ausführungsplanadb_workflow_list— Listet gespeicherte Workflow-Dateien im Workflows-Verzeichnis auf
Split-APK-Verwaltung (4 Tools)
adb_install_bundle— Installiert Split-APKs (App-Bundles) überinstall-multiplemit Ersetzungs- und Downgrade-Optionenadb_list_splits— Zeigt alle APK-Split-Pfade für ein Paket mit Klassifizierung (base, config.density, config.language, usw.) und Gesamtgrößeadb_extract_apks— Zieht alle Splits für ein Paket in ein lokales Verzeichnis zur Analyse oder Sicherungadb_apex_list— Listet installierte APEX-Module mit Versionsinformationen auf
Gerätespiegelung (3 Tools)
adb_mirror_start— Startet Live-Bildschirmspiegelung über scrcpy. Unterstützt Fenster- und Headless-Modi, Aufzeichnung, Bitrate/FPS/Auflösungssteuerung, Wachhalten und Bildschirm-ausadb_mirror_stop— Stoppt die Spiegelung für ein Gerät oder alle Geräteadb_mirror_status— Prüft die scrcpy-Verfügbarkeit und listet aktive Spiegelungssitzungen auf
Automatisierte Testgenerierung (3 Tools)
adb_test_gen_from_ui— Analysiert die interaktiven Elemente des aktuellen Bildschirms und generiert einen Workflow, der jedes Element antippt, Screenshots erstellt und auf Abstürze prüftadb_test_gen_from_intents— Analysiert die registrierten Aktivitäten eines Pakets und generiert einen Workflow, der jede exportierte Aktivität mit Absturzerkennung startetadb_test_gen_save— Speichert einen generierten Workflow-JSON im Workflows-Verzeichnis zur späteren Ausführung
OTA-Update-Überwachung (3 Tools)
adb_ota_fingerprint— Erfasst den System-Fingerabdruck: Build-ID, Android-Version, Sicherheitspatch, Bootloader, Basisband-Firmware, Kernel, A/B-Slotadb_ota_check— Vergleicht den aktuellen Systemzustand mit einem gespeicherten Fingerabdruck, um OTA-Updates zu erkennen. Identifiziert geänderte Felder und empfiehlt eine neue Baseline-Erstellungadb_ota_history— Listet alle gespeicherten Fingerabdrücke für ein Gerät mit Versionsverlauf über die Zeit auf
RIL-Nachrichten-Erfassung (3 Tools)
adb_ril_start— Startet die Erfassung von RIL-Nachrichten aus dem Radio-Logcat-Puffer. Kategorisiert Registrierungs-, Zellinfo-, Signal-, Netzwerk-, Sicherheits-, Handover- und NAS-Ereignisseadb_ril_poll— Ruft erfasste RIL-Nachrichten mit optionaler Kategoriefilterung ab. Zeigt die Kategorieverteilungadb_ril_stop— Stoppt eine RIL-Erfassungssitzung mit Kategoriezusammenfassung
Geräteprofile (3 Tools)
adb_profile_detect— Automatische Erkennung und Erstellung eines Geräteprofils: Hardware-ID, Chipsatz-Familie, Modem-Knoten, Root-Status, 5G-Unterstützung, Dual-SIM-Konfiguration. Abgleich mit der integrierten Bibliothek auf bekannte Besonderheitenadb_profile_save— Speichert ein Geräteprofil in der Profilbibliothekadb_profile_list— Listet integrierte und benutzergespeicherte Geräteprofile auf
Modem-Firmware-Analyse (3 Tools)
adb_firmware_probe— Umfassende Firmware-Identifizierung: parst Basisband (Shannon/Qualcomm/MediaTek/Unisoc/HiSilicon/Intel), Bootloader und RIL-Implementierung in strukturierte Komponenten. Meldet Kernel, Sicherheitspatch, A/B-Slot, Verified-Boot-Status, VBMeta, Hypervisor und OTA-Partitionsinventaradb_firmware_diff— Vergleicht alle Firmware-Komponenten (Basisband, Bootloader, Kernel, Sicherheitspatch, Build-ID, Android-Version, RIL) zwischen gespeicherten Fingerabdrücken oder dem Live-Gerät. Tiefgehende geparste Diffs für Basisband und Bootloader bei erkannten Änderungenadb_firmware_history— Verfolgt den Firmware-Verlauf über alle gespeicherten OTA-Fingerabdrücke mit Mehrkomponenten-Änderungserkennung (Basisband, Bootloader, Kernel, Sicherheitspatch, Build-ID, Android-Version) und geparsten Basisband-Diffs
Drahtlose Firmware (4 Tools)
adb_wifi_firmware— WiFi-Chipsatz- und Firmware-Identifizierung: Treiberversion, Firmware-Version, unterstützte Bänder (2,4/5/6 GHz), WiFi-Standard-Erkennung (5/6/6E/7), aktuelle Verbindungsinformationen. MAC-Adresse nur mit Opt-inadb_bluetooth_firmware— Bluetooth-Firmware- und Chipsatz-Identifizierung: Firmware-Version, BT-Version (4.0–5.4 aus LMP), Adapterstatus, LE-Fähigkeiten (2M PHY, Coded PHY, erweitertes Advertising), aktive Profile (A2DP/HFP/HID/LE Audio), Anzahl gekoppelter Geräte. MAC/Name nur mit Opt-inadb_nfc_firmware— NFC-Controller-Firmware: Controller-Typ (NXP/Broadcom/Samsung/ST), Firmware-Version, unterstützte Technologien (NFC-A/B/F/V, MIFARE), Secure Element (eSE/UICC), HCE-Unterstützungadb_gps_firmware— GNSS/GPS-Chipsatz- und Firmware-Identifizierung: Hardware-Modell (Hersteller, Chip, Firmware), unterstützte Konstellationen (GPS/GLONASS/Galileo/BeiDou/QZSS/NavIC/SBAS), Signaltypen mit Frequenzen, Dual-Frequenz-Erkennung (L1+L5), Roh-GNSS-Messfähigkeiten, A-GPS-Modi (MSB/MSA), SUPL-Serverkonfiguration, Trägerphasenmessungen
Workflow-Marktplatz (3 Tools)
adb_market_search— Durchsucht den Workflow-Marktplatz nach von der Community geteilten Workflow-Definitionen mit Schlüsselwort- und Tag-Filterung. Zeigt den Installationsstatusadb_market_install— Lädt einen Marktplatz-Workflow herunter, validiert (JSON-Struktur + SHA-256-Integrität) und installiert ihn zur sofortigen Verwendung mit adb_workflow_runadb_market_export— Verpackt einen lokalen Workflow mit Marktplatz-Metadaten (Autor, Version, Tags, SHA-256) und generiert einen Registry-Manifesteintrag zum Teilen
SELinux- und Berechtigungsprüfung (3 Tools)
adb_selinux_status— SELinux-Erzwingungsmodus, Policy-Version, Shell-Kontext, Anzahl aktueller AVC-Verweigerungen. Root liefert Kernel-dmesg-Verweigerungsstatistikenadb_selinux_denials— Listet aktuelle AVC-Verweigerungsmeldungen mit geparsten Quell-/Zielkontexten, Berechtigungsklassen und verweigerten Operationen auf. Unterstützt Prozessfilterungadb_permission_audit— Prüft Laufzeitberechtigungsvergaben für ein Paket, gruppiert nach gefährlicher Berechtigungskategorie (Kamera, Standort, Telefon, SMS, usw.). Kennzeichnet hochsensible Vergaben
Thermik- und Energieprofilierung (3 Tools)
adb_thermal_snapshot— Erfasst alle Thermikzonen-Temperaturen, Pro-CPU-Frequenzen/Governor, Kühlgerätezustände, Batterietemperatur/-strom/-spannung/-leistungsaufnahme. Optionales Speichern als JSON-Baselineadb_thermal_compare— Vergleicht den aktuellen Thermikzustand mit einer gespeicherten Baseline mit Temperaturdeltas pro Zone und Batteriestromänderungenadb_battery_drain— Misst die Batterieentladungsrate über eine konfigurierbare Dauer (3–60 s). Meldet durchschnittlichen mA, mW, geschätzte %/Stunde. Optionale paketspezifische Batterystats
Netzwerkerkennung (3 Tools)
adb_network_scan— Scannt das lokale Netzwerk nach ADB-fähigen Geräten über die ARP-Tabelle und optionalen IP-Bereichs-Sweep. Prüft Ports 5555–5558 mit gebündelten parallelen TCP-Probesadb_network_device_ip— Ermittelt die WiFi-IP eines verbundenen Geräts über mehrere Methoden. Zeigt den ADB-TCP-Status und Anweisungen zur drahtlosen Verbindungadb_network_auto_connect— Ein-Schritt-Erkennung + Verbindung: scannt nach ADB-Geräten und führt automatisch adb connect auf jedem gefundenen Listener aus
Hardware-Sensorzugriff (2 Tools)
adb_sensor_read— Liest aktuelle Hardware-Sensorwerte über dumpsys sensorservice. Zählt alle Sensoren mit Hersteller, Typ, Modus, Ratenbereich und Wake-Fähigkeit auf. Gibt letzte bekannte Messwerte mit Zeitstempeln und achsenbeschrifteter Formatierung zurück. Kategoriefilter (13 Kategorien) und listOnly-Erkennungsmodus. Kein Root erforderlichadb_iio_read— Liest rohe Hardwaredaten aus dem Linux-IIO-Subsystem. Entdeckt IIO-Geräte automatisch und klassifiziert sie nach Kernel-Treiber. Auf Tensor/Exynos: legt ODPM-Leistungsmonitore pro Schiene offen, die den Echtzeit-Leistungsverbrauch pro SoC-Subsystem zeigen. Generischer IIO-Pfad behandelt Rohkanäle mit kalibrierter Skalierung + Offset. Root erforderlich
Ergebnis-Handles (3 Tools)
adb_result_list— Listet aktive Ergebnis-Handles im tempdir-gestützten Cache auf. Zeigt Tool, Name, Größe, Alter und verbleibende TTL für jeden Handleadb_result_get— Ruft den Inhalt eines gespeicherten Handles nach Tool + Name ab. Gibt die ursprünglichen Inhaltsblöcke zurück, wie sie das Quell-Tool erzeugt hat; aktualisiert die letzte Zugriffszeit. Für URI-basierte Abfrage verwenden Sie stattdessen die MCP-Ressourceresult://{tool}/{name}adb_result_drop— Löscht einen gespeicherten Ergebnis-Handle oder löscht alle Handles im aktuellen Namensraum. Übergeben Sie sowohltoolals auchname, um einen bestimmten Handle zu löschen, oderall: true, um alles zu löschen. Nützlich vor dem Ändern von DA_AUTH_TOKEN (das sonst verwaiste Einträge unter dem alten Token-Hash-Verzeichnis hinterlassen würde)
MCP-Ressourcen (5)
Schreibgeschützte Gerätezustandsflächen, die für MCP-Clients zugänglich sind:
device://list— Liste aller verbundenen Geräte mit Status- und Modellinformationendevice://info/{serial}— Geräteeigenschaften (Modell, OS, Build, ABI)device://battery/{serial}— Geparster Batteriestatus (Ladestand, Laden, Temperatur, Spannung)device://telephony/{serial}— Telefonie-Registry-Zustand für Zellanalyseresult://{tool}/{name}— Gespeicherter Tool-Ergebnis-Handle. Über URI auflösbar; erstellt von Tools, die sich über den Parameterresult_handlefür die Ergebnis-Handle-Speicherung entscheiden. Aufgelistet von adb_result_list
MCP-Prompts (4)
Vorgefertigte Workflow-Vorlagen für häufige mehrstufige Debugging-Aufgaben:
debug-crash— Logcat leeren → App neu starten → auf Reproduktion warten → Absturzpuffer erfassen → analysierendeploy-and-test— Build → installieren → Logcat leeren → Watcher starten → starten → Screenshot → Berichttelephony-snapshot— Telefoniezustand, SIM-/Netzbetreiber, Netztyp erfassen → Anomalien zusammenfassenairplane-cycle-test— Watcher starten → Telefonie-Baseline → Flugmodus durchlaufen → Vorher/Nachher-Zustand vergleichen
Hauptfunktionen
Geräte-Caching
Ergebnisse der Geräteerkennung werden mit einer konfigurierbaren TTL (Standard 5 s) zwischengespeichert, wodurch redundante adb devices-Subprozessaufrufe bei schnellen Tool-Sequenzen entfallen. Der Cache invalidiert automatisch bei Verbindungsfehlern und nach drahtlosen Verbindungs-/Trennungs-/Pairing-Operationen.
Wiederholung bei vorübergehenden Fehlern
Die ADB-Brücke wiederholt automatisch bei vorübergehenden Fehlern (Gerät offline, Verbindungsreset, Protokollfehler) mit konfigurierbarer Wiederholungsanzahl und exponentiellem Backoff. Diagnosebefehle überspringen Wiederholungen, um echte Probleme sofort sichtbar zu machen.
Ausgabeschutz
Die gesamte ADB-Ausgabe durchläuft den OutputProcessor, der Zeilenenden normalisiert, konfigurierbare Zeichenlimits durchsetzt und eine kontextbezogene Kürzung an logischen Grenzen (Zeilenumbrüche, Abschnittstrenner) statt mitten in der Zeile vornimmt. Enthält strukturierte Parser für Batterie-, Meminfo- und getprop-Ausgabe.
Persistentes Logcat-Streaming
Logcat-Hintergrundwächter laufen als separate Hintergrundprozesse mit Ringpuffer-Akkumulation. Jede Abfrage liefert nur neue Zeilen seit dem letzten Lesevorgang zurück. Unterstützt mehrere gleichzeitige Sitzungen (bis zu 10) mit unabhängigen Filtern. Prozess-Cleanup-Handler verhindern verwaiste adb logcat-Prozesse beim Server-Exit.
UI-Hierarchie-Analyse
Erfassung des vollständigen View-Baums über uiautomator dump mit geparster XML-Extraktion. Liefert strukturierte Elementdaten, darunter Text, resource-id, content-description, Klassennamen, Bounds-Koordinaten mit tippbaren Mittelpunkten und Interaktionsflags. Vorkompilierte Regex-Attributextraktion für effizientes Parsing.
Sicherheits-Middleware
Mehrschichtige Sicherheit, aktiviert über DA_SECURITY=true. Bietet Blocklist-/Allowlist-Filterung für Befehle, Ratenbegrenzung (Befehle pro Minute) und Audit-Logging mit automatischer Schwärzung von Zugangsdaten. Die Sicherheitsprüfungen sind in adb_shell, adb_root_shell, adb_multi_shell, adb_multi_compare, adb_input, adb_batch_actions und adb_start_activity integriert. Über Umgebungsvariablen für verschiedene Einsatzszenarien konfigurierbar.
Eingabebereinigung
Alle Tools, die benutzergelieferte Parameter in Shell-Befehlszeichenketten interpolieren, validieren die Eingaben vor der Ausführung gegen Shell-Metazeichen. Paketnamen, Property-Keys, Dienstnamen, Setting-Keys, Testbezeichner, Netzwerkschnittstellennamen und tcpdump-Filter werden über eine zentrale validateShellArg()-Funktion validiert, die ;, |, &, $, Backticks, Klammern und andere Injektionsvektoren ablehnt. Dateipfade verwenden Single-Quoted-Shell-Escaping, um die $()-Befehls substitution zu verhindern. Das adb_input-Tool wendet typspezifische Validierung an: tap/swipe akzeptieren nur numerische Koordinaten, keyevent nur alphanumerische Keycodes und text wird für die wörtliche Zustellung durch Shell-Escaping maskiert. Das adb_batch_actions-Tool erzwingt dieselbe Validierung pro Aktionsstyp (nur Ziffern für Koordinaten, alphanumerisch für Keycodes, Shell-Escaping für Text) und leitet jeden zusammengesetzten Befehl durch die Sicherheits-Middleware. Deserialisiertes JSON aus Snapshot-Dateien wird vor der Shell-Interpolation validiert. Jeder z.number()-Parameter in allen 204 Tools besitzt explizite .min()/.max()-Zod-Grenzen, um eine Ressourcenerschöpfung durch extreme Werte zu verhindern. Der LocalBridge hat explizite Handler für jeden ADB-Unterbefehl, den die Tool-Module verwenden, und verhindert so das unquotierte Durchreichen an den Standard-Shell-Handler. Im On-Device-Modus nutzt die Privilegieneskalation eine eingefrorene 16-Befehle-Allowlist und eine Regex für eingeschränkte Pfade – der Elevationssatz besteht aus ReadonlySet + Object.freeze und ist zur Laufzeit nicht konfigurierbar. Der HTTP/SSE-Transport lehnt Cross-Origin-Anfragen standardmäßig ab (konfigurierbar über DA_HTTP_CORS_ORIGIN), die Plugin-Registry verifiziert SHA-256-Integritätswirbel und verhindert Path Traversal durch Verzeichnis-Containment-Prüfungen, und die Workflow-Engine setzt Begrenzungen für Schrittzahl (200), Schlafdauer (5 Min.) und Wiederholungen (100) durch. Fetch-Helfer erzwingen ein Limit von 5 MB für den Antwort-Body. Das Getprop-Ausgabeparsing verarbeitet Windows-\r\n-Zeilenden über .trim() vor dem Regex-Abgleich, und die Anzahl der Dual-SIM-Slots ist auf 4 begrenzt, um Ressourcenerschöpfung durch beschädigte Geräteeigenschaften zu verhindern.
Multi-Geräte-Orchestrierung
Befehle ausführen, APKs installieren und Ausgaben über mehrere verbundene Geräte hinweg parallel vergleichen. Unverzichtbar für vergleichende Tests über mehrere Android-Versionen und Gerätemodelle hinweg.
Snapshot/Wiederherstellung
Erfasst umfassende Gerätezustands-Snapshots (Pakete, Einstellungen über alle Namespaces, Systemeigenschaften) als JSON-Dateien. Vergleicht den aktuellen Zustand mit gespeicherten Snapshots, um Abweichungen zu erkennen. Stellt Einstellungen aus Snapshots wieder her, um reproduzierbare Testumgebungen zu schaffen.
Netzwerkverkehr-Erfassung
Paketerfassung auf dem Gerät über tcpdump mit pcap-Datei-Abruf für die Wireshark-Analyse. Enthält die Auflistung aktiver Verbindungen über ss/netstat mit /proc/net-Fallback für Geräte ohne diese Tools.
CI/CD-Integration
Speziell für automatisierte Pipelines entwickelte Tools: Warten auf den Geräte-Boot mit Polling, strukturierte Bereitschaftsprüfungen und instrumentierte Testausführung mit geparsten Pass/Fail-Ergebnissen.
Plugin-Architektur
Dynamisches Laden von Tool-Modulen aus einem konfigurierbaren Plugins-Verzeichnis. Plugins sind reguläre JavaScript-ESM-Module, die eine register(ctx)-Funktion exportieren und den vollständigen ToolContext erhalten. Werden beim Serverstart geladen und ermöglichen Community-Brträge ohne Änderungen am Kerncode.
Community-Plugin-Registry
Plugins aus einer konfigurierbaren Registry-URL suchen, installieren und verwalten. Zeigt Installationsstatus, Versionsvergleich und verfügbare Updates an. Lädt Plugin-Dateien mit Begleit-Informationen Metadaten in das Plugins-Verzeichnis, damit sie beim nächsten Neustart geladen werden. Zu den Sicherheitsfunktionen gehören die SHA-256-Integritätsprüfung (sofern im Registry-Manifest angegeben), Path-Traversal-Schutz und eine Plausibilitätsprüfung des register()-Exports.
Basisband-/Modem-Integration
Tools zur tiefgehenden zellularen Funkdigitaleinsübung für fortgeschrittene Android-Entwicklung und -Forschung. Extrahiert Modem-Firmware-Identifikation, Zellidentitätsparameter (CID, TAC, EARFCN, PCI), rohe Signalmessungen (RSRP, RSRQ, SINR), Nachbarzellen-Erkundungen, Konfiguration des Betreibers und Modem-Protokolle aus mehreren Quellen (RIL-Radiopuffer, Telekommunikations-Framework, Kernel-Dmesg). Unterstützt Shannon/Exynos-, Qualcomm-, MediaTek- und Unisoc-Chipsatzfamilien über die standardmäßigen Android-Telefonie-APIs. Enthält Google-Tensor-SoC-Erkennung (gs101/gs201/zuma/zumapro) für das automatische Shannon-Modem-Pfadrouting auf Pixel-6–9-Geräten. Die Dual-SIM-Erkennung meldet pro Slot SIM-Zustand, Betreiber, Netzwerktyp und Land für DSDS-, DSDA- und TSTS-Konfigurationen.
Barrierefreiheits-Auditierung
Automatisierte WCAG-Barrierefreiheitsprüfungen an der LiveerUI-Hierarchie. Erkennt fehlende Labels auf interaktiven Elementen, zu kleine Touch-Ziele unterhalb der 48-dp-Richtlinie (densitätsbewusst), Bilder ohne content-description, klickbare Elemente ohne Rücksetzbarkeit und doppelte content-descriptions. Generiert strukturierte Berichte mit Schweregraden. Enthält eine dedikierte Barrierefreiheits-Baumanansicht für Screenreader- Debugging.
Regressionserkennung
Erfasst Performance-Baselines (Speicher, CPU, Frame-Statistik, Akku, Netzwerkzustand) und vergleicht unterschiedliche nachfolgendeäufe damit. Konfigurierbare Regressionsschwellen für Speicher (+20 %), CPU (+50 %) und Jank-Rate (+25 %). Hält eine Historie der Baselines für die Trendanalyse über Versionen hinweg bereit.
Device-Farm-Integration
Cloud-basierte Testausführung über Firebase Test Lab per gcloud-CLI. Führen Sie instrumente Tests auf mehreren Gerätemodellen und API-Leveln aus, rufen Sie strukturierte Ergebnisse ab und listen Sie die verfügbereitungen Test-Matrix-Konfigurationen auf. Saubere Fallback-Lösung mit Einrichtungsanweisungen, falls gcloud nicht verfügbar ist.
HTTP/SSE-Transport
Alternative zu stdio für browserbasierte MCP-Clients. Setzen Sie DA_HTTP_PORT, um einem HTTP-Server mit SSE-Streaming zu starten. Stellt /sse (Client-Abonnement), /message (JSON-RPC) und /health-Endpunkte bereit. Cross-Origin-Anfragen werden standardmäßig abgewiesen – setzen Sie DA_HTTP_CORS_ORIGIN, um einen bestimmten Absender explizit zuzulassen.
Test-Sitzungsverwaltung
Strukturierte Tests Workflows mit nummerierten Schritten. Jeder Schritt erfasst einen Screenshot und einen Logcat-Snapshot in einem organisierten Verzeichnis mit einem Markdown-Manifest. Konzipiert für die reproduzierbare Dokumentation der Tests.
AT-Befehlsschnittstelle
Direkter AT-Befehlspassthrough zum Modem über Root-Zugriff und ermöglicht Abfragen jenseits des Android-Telekommunikations-Frameworks. Multi-Chipset-Unterstützung erkennt automatisch Geräteknoten für Samsung Shannon/Exynos, Qualcomm Snapdragon, MediaTek, Unisoc/Spreadtrum und generische USB-Modems. Die Eingabevalidierung lehnt Shell-Metazeichen aus AT-Befehlszeichenfolgen und Geräteknotenpfaden ab, bevor sie auf eine Root-Shell übertragen werden. Eine Sicherheitsblocklist verhindert unbeabsichtigte Ausführung gefährlicher Befehle (AT+CFUN=0, AT+EGMR usw.) mit einem expliziten Force-Override.
Screenshot-Diffing
Echte Pixel-genaue optische Regressionserkennung. Erfasst benannte Screenshot-Baselines und vergleicht den aktuellen Bildschirmzustand, indem sie PNG-Pixeldaten dekodiert (IHDR-Parsing, IDAT-Dekompression, alle 5 PNG-Filtertypen) und die tatsächlichen RGB-Werte vergleicht. Meldet die Anzahl und der Prozentsatz geänderter Pixel, den umgebenden Rahmen der geänderten Region mit vertikaler Bildschirmposition sowie Dimensions-/Größen-Änderungenänderungen. Unterstützt einen tolerancePercent-Parameter (0–100), der kleine dynamische Änderungen wie Uhranzeigen perfekt oder Benachrichtigungsabzeichen abfängt – eine Toleranz von 1 % st auffällig Uhränderungen der Navigationsleiste (~0,5 % der Pixel) absorbiert und trotzdem jede echte UI-Regression erkennt. SHA-256-Schnellpfad für exakte Übernstimmungen. Keine externen Abhängigkeiten.
Workflow-Orchestrierung
Deklarative JSON-basierte Arbeitsablauf-Engine für wiederholbare Multi-Step-Geräteoperationen. Unterstützt Variablenersetzung ({{pkg}}), Bedingungsschritte (if-Ausdrücke mit ==, !=, contains), Schleifen (repeat, bis 100 Iterationen) und die Erfassungen von Ergebnissen in Variablen für nachfolgende Schritte. Aktionen bilden direkt auf ADB-Bridge-Operationen ab, mit vollständiger Einhaltung der Sicherheits-Middleware. Die Workflow-Validierung erzwingt ein Maximum von 200 Schritten und ein Schlaf-Limit von 5 Minuten pro Schritt, um Ressourcenerschöpfung durch bösartigeoder fehlerhafte Workflow-Definitionen zu vermeiden.
Split-APK-Verwaltung
Unterstützung für moderne Android-Versandformate. Installiert App-Bundles über install-multiple, untersucht die Split-APKStruktur (Basis- und Konfigurations-Splits für Sprache, Dichte, ABI), extrahiert alle Splits zur lokalen Analyse und listet APEX-Module auf.
Geräte-Mirroring
Live-Screen-Mirroring über scrcpy-Integration. Unterstützt Fenster Modus für visuelles Feedback sowie Headless-Modus für rein Aufnahme-Workflows. Die Sitzungsverfolgung pro Gerät ermöglicht gleichzeitiges Spiegel mehrere verbundener Geräte. Prozessauflösungs-Handlerprozess verhindern verwaiste scrcpy-Prozesse.
Automatisierte Testgenerierung
Analysiert die Live-UI-Hierarchie und Paket-Intent-Registrierungen, um automatisch Test-Workflow-JSON zu generieren, das mit der Workflow-Orchestrierungs-Engine kompatibel ist. Die UI-basierte Generierung tippt jedes interaktive Element an, protokolliert Screenshots und prüft auf Abbrüche. Die Intent-basierte-Variante startet jede exportierte Aktivität mit einer Absturz-Erkennung.
OTA-Update-Überwachung
Erfasst einen umfassenden System-Figuren-Fingerabdruck (Build-ID, Android-Version, Sicherheitspatch-Stand, Bootloader, Basisband-Firmware, Kernel-Version, A/B-Partitions-Slot) über die Sitzungen hinweg. Diese vergleicht aktuelle Gerätesituation mitandenen Fingerabdrücken und sqrt zu erkennen assemblies OTA-Update. Identifiziert genau, welche Attribut geändert haben, und empfiehlt, nach einem Update die Codes für Performance-Metriken und Screenshots neu zu setzen.
RIL-Nachrichten-Erfassung
Erfassung von Radio-Interface-Layer-Nachrichten aus dem Android-Logcat-Ratio-Buffer persistent wiederholt. Startet einen Hintergrundprozess (d)plies in einem Ringpuffer. The buffer is persistiert dData from logcat-Radio, kategorisiert: Abbildung an ® we continue auf Wechsel. Startet einen Hintergrundprozess, der RIL-Nachrichten (ähn) sammelt und nach Registrierung, cell_info, signal, network, security, handover, data, radio_state, sms und NAS-Ereignisse engteilt.". ,-Abfall ist with Abruf per Polling with Kategoriefilter möglich.
session limit5 and cleanup handler prevent res exhaust. handy für passive Beobachtung von-Kommunikation zwischen Basisband undFramework zu Zwecken der Funkdiagnose und der Mobilfunkforschung. Die Sitzungsbegrenzung (5) und Prozessaufräum-Handler verhindern Ressourcenerschöpfung.
Geräteprofil-Bibliothek
Geräteprofilwissen mit Gerätehardwareidentifikation, Chip-Ebene – Chipidentifikation, Bekannte Modem-Knoten, AT-Kompatibilität, Root-Anforderungen, telefonischen Niemals-Nicht, Rufnummer Anforderungen, Doppel-SIM-Steckplatzerieze. Nummer-+ work button breite- Standard – erkennt automatisch von verbundn a propagates aktuellen Gerät software and katalog. Speichern profile Über Streamsop accumulator. Good for Tools such as adb_at_detect. Community-Erweiterung über gespeicherte Profildateien.
WebKit Replace-Transport
Eine Alternative zu stdio und HTTP/SSE für MCP-Clients, die von echter bidirektionaler Übertragung durchgehend profitieren. Niedrigere Latenz im Vergleich zum SSE-Polling bei besser Web-Framework-Kompatibilität. Erfordert das ws npm-Package als optionale Peer-Abhängigkeit. Setzen Sie DA_WS_PORT zum Aktivieren des Modus.
Modem-Firmware-Analyse
Umfassende Multi-Komponenten-Firmware-Identifikation, -Vergleich und -Verlaufsverfolgung. Analysiert Basisband-Versionsstrings für 6 Chipsatz-Familien: Shannon/Exynos (einschließlich Google Pixel/Tensor g5123b-*-Format und klassischem Samsung S5123AP_CL*-Format), Qualcomm MPSS-Zweig/-Version/-Build, MediaTek MOLY-Zweig/-Release/-Meilenstein, Unisoc/Spreadtrum SoC-Modell/-Version, HiSilicon/Kirin-Modell/-Carrier-Code und Intel XMM-Modell/-Zweig. Analysiert außerdem Bootloader-Versionen (Pixel-Codename/-Version/-Build, Samsung-Modell/-Carrier/-Revision) und RIL-Implementierungsstrings (Samsung S.LSI-Anbieter/-ID/-API/-Build-Datum, Qualcomm, MediaTek). Die Firmware-Sonde meldet 8 Abschnitte: Basisband, Bootloader, RIL, Kernel, Sicherheit/Build, Partition/Boot (A/B-Slot, Secure Boot, Verified Boot, Flash-Sperre), VBMeta-Integrität und OTA-Partitionsinventar. Das Diff-Tool vergleicht alle Firmware-Komponenten zwischen gespeicherten Fingerprints oder dem Live-Gerätezustand, mit tiefen geparsten Sub-Diffs für Basisband und Bootloader. Das Verlaufs-Tool verfolgt die Multi-Komponenten-Firmware-Entwicklung über OTA-Fingerprints hinweg.
Workflow-Marketplace
Community-Freigabeebene für die Workflow-Orchestrierungs-Engine. Durchsuchen Sie eine Registry mit von der Community beigesteuerten Test-Workflows, Diagnosesequenzen und Audit-Verfahren. Laden Sie Workflows direkt herunter und installieren Sie sie für die sofortige Ausführung mit adb_workflow_run. Exportieren Sie lokale Workflows mit Marketplace-Metadaten und automatisch generierten Registry-Manifesteinträgen zur Einreichung. SHA-256-Integritätsprüfung beim Download.
GraphQL-API
Optionaler HTTP-Endpunkt, der eine GraphQL-API für zusammengesetzte Geräteabfragen bereitstellt. Ermöglicht Clients, Geräteinformationen, Akku, Netzwerk und beliebige Eigenschaften in einer einzigen Anfrage abzurufen, anstatt mehrerer MCP-Tool-Aufrufe. POST-Anfragetext auf 1 MB begrenzt. Geräteeigenschaften werden einmal pro Auflösung vorab abgerufen, um Subprozess-Aufrufe zu minimieren. Erfordert das graphql-npm-Paket als optionale Peer-Abhängigkeit. Setzen Sie DA_GRAPHQL_PORT, um es zu aktivieren.
SELinux- und Berechtigungs-Audit
Prüft den SELinux-Erzwingungsmodus, fragt AVC-Ablehnungen aus logcat- und Kernel-Audit-Protokollen ab und prüft Laufzeit-Berechtigungserteilungen pro Paket. Gruppiert erteilte Berechtigungen nach gefährlicher Kategorie (Kamera, Standort, Telefon, SMS usw.) und kennzeichnet hochsensible Erteilungen wie Hintergrund-Standort und manage-external-storage. Erweitert die Sicherheits-Audit-Abdeckung auf die OS-Berechtigungsebene.
Thermal- und Strom-Profilierung
Erfasst Thermal-Zonen-Temperaturen aus sysfs, Frequenzskalierungszustände und -Governors pro CPU, Kühlgeräteaktivität und Akku-Entladeraten. Ergänzt die Regressionserkennung mit Thermal-/Strom-Basislinien für Probleme, die sich als Hitze oder Akku-Entladung äußern, anstatt als Frame-Drops. Enthält zeitgesteuerte Entlademessung mit mA/mW/geschätzten-%-pro-Stunde-Berechnungen.
Netzwerk-Geräteerkennung
Scannt das lokale Netzwerk nach ADB-fähigen Geräten über ARP-Tabellenabfragen und optionale IP-Bereichs-Sweeps. Testet gängige ADB-Ports (5555-5558) mit gebündelten parallelen TCP-Verbindungsversuchen. Extrahiert Geräte-WiFi-IPs über mehrere Methoden. Der Auto-Connect-Modus erkennt und verbindet Geräte in einem Schritt. Optimiert drahtlose Debugging-Workflows.
QEMU/KVM-Virtualisierung
Verwaltung virtueller Maschinen auf dem Gerät mit QEMU und KVM-Hardwarebeschleunigung. Ermöglicht das Ausführen von Android-Gast-VMs direkt auf dem physischen Gerät — eine Fähigkeit, die DeepADB einzigartig macht. Die dynamische Ressourcenzuweisung erkennt automatisch Host-CPU-Kerne und physischen RAM und reserviert 1 Kern und 35 % des Speichers für das Host-Betriebssystem, um Verhungern zu verhindern. Multi-VM-Unterstützung verfolgt den Ressourcenverbrauch über gleichzeitige VMs und lehnt neue VMs ab, wenn der Pool erschöpft ist, anstatt die Host-Leistung zu beeinträchtigen. Festplatten-Image-Verwaltung mit qcow2 (sparse, snapshot-fähig) und raw-Formaten. ADB-Portweiterleitung zu Gast-VMs ermöglicht es der vollständigen DeepADB-Tool-Suite, gleichzeitig Host- und Gast-Geräte anzusprechen. Prozesslebenszyklus wird über die zentrale Bereinigungs-Registry mit SIGTERM/SIGKILL-Beendigung verfolgt. Pfad-Containment-Prüfung bei allen Image-Operationen verhindert Directory Traversal.
ToolContext-Architektur
Alle 45 Tool-Module erhalten ein einheitliches ToolContext-Abhängigkeitsbündel, das Server, Bridge, deviceManager, Logger, Sicherheit und Konfiguration enthält. Das Hinzufügen neuer querschnittlicher Abhängigkeiten erfordert keine Änderungen an Modulsignaturen.
Umgebungsvariablen
Variable | Standard | Beschreibung |
| Automatische Erkennung | Erzwingt den On-Device-Modus ( |
| Automatische Erkennung | Pfad zur ADB-Binärdatei (im On-Device-Modus ignoriert) |
|
| Standard-Befehlstimeout in Millisekunden |
|
| Maximale Ausgabezeichen vor Kürzung |
|
| Maximale Logcat-Zeilen pro Snapshot |
| (automatisch) | Standard-Geräteseriennummer (wählt automatisch aus, wenn nur ein Gerät vorhanden ist) |
| OS-Temp | Temporäres Verzeichnis für Screenshots, gepullte Dateien, Bug-Reports, Testsitzungen und Snapshots |
|
| TTL des Gerätelisten-Caches in Millisekunden (0 = deaktiviert) |
|
| Anzahl der Wiederholungsversuche bei vorübergehenden ADB-Fehlern |
|
| Basis-Wiederholungsverzögerung in ms (verdoppelt sich bei jedem Versuch) |
|
| Log-Level: debug, info, warn, error |
| (automatische Erkennung) | Auf |
|
| MCP-Resource-Cache-TTL in ms. Auf einen positiven Wert setzen, um Ressourcen-Lesezugriffe (device://info, device://battery, usw.) für diese Dauer zu cachen. |
|
| Speicherstamm für tempdir-gestützte Tool-Ergebnishandles. Überschreiben, um den Speicher aus dem Standard-Temp-Verzeichnis zu verlagern. |
|
| TTL pro Handle in Sekunden. Handles, die älter als dieser Wert sind, werden beim Start-Sweep und bei der periodischen Räumung entfernt. Begrenzt auf [60, 7 Tage]. |
|
| Größenlimit pro Handle. Tools, die versuchen, einen Inhaltsblock zu speichern, der größer als dieser Wert ist, schlagen mit einem Fehler fehl. |
|
| Gesamtgrößenlimit des Ergebnis-Handle-Speichers über alle Handles. Löst bei Überschreitung LRU-Räumung aus. |
|
| Maximale Anzahl aktiver Handles. Löst bei Überschreitung LRU-Räumung aus. |
|
| Sicherheits-Middleware aktivieren (Befehlsfilterung, Ratenbegrenzung) |
| (keine) | Kommagetrennte Liste blockierter Shell-Befehls-Teilstrings |
| (keine) | Kommagetrennte Zulassungsliste (falls gesetzt, werden nur passende Befehle ausgeführt) |
|
| Maximale Befehle pro Minute (0 = unbegrenzt) |
|
| Netzwerkerreichbarkeitsziel, das von |
|
| Protokolliert alle ausgeführten Befehle für die Audit-Trail (auf |
|
| Verzeichnis, das beim Start nach Plugin-.js-Modulen durchsucht wird |
| GitHub-Standard | URL des JSON-Manifests der Community-Plugin-Registry |
| (deaktiviert) | Auf eine Portnummer setzen, um den HTTP/SSE-Transportmodus zu aktivieren |
|
| Bindungsadresse für HTTP/SSE-, WebSocket- und GraphQL-Server |
| (keine — offen) | Bearer-Token für Netzwerktransporte. Wenn gesetzt, erfordern alle HTTP/SSE/WS/GraphQL-Anfragen den Header |
| (keine — verweigern) | Erlaubte CORS-Origin für HTTP/SSE |
| (deaktiviert) | Auf eine Portnummer setzen, um den WebSocket-Transportmodus zu aktivieren (erfordert |
| (keine — verweigern) | Erlaubte CORS-Origin für den WebSocket-Health-Endpunkt |
| (deaktiviert) | Auf eine Portnummer setzen, um den GraphQL-API-Endpunkt zu aktivieren (erfordert |
| (keine — verweigern) | Erlaubte CORS-Origin für die GraphQL-API |
| (abgeleitet von DA_REGISTRY_URL) | URL des JSON-Manifests des Workflow-Marktplatzes |
| (keine) | Numerische PIN, die von |
Projektstruktur
DeepADB/
├── src/
│ ├── index.ts # Entry point — stdio, HTTP/SSE, WebSocket, or GraphQL transport
│ ├── server.ts # MCP server wiring, config, module registration (exports CreateServerResult)
│ ├── http-transport.ts # HTTP/SSE transport server for browser clients
│ ├── ws-transport.ts # WebSocket transport (optional `ws` peer dependency)
│ ├── graphql-api.ts # GraphQL API endpoint (optional `graphql` peer dependency)
│ ├── tool-context.ts # Unified dependency bundle (ToolContext interface)
│ ├── bridge/
│ │ ├── adb-bridge.ts # Core ADB subprocess wrapper, retry logic, error types
│ │ ├── local-bridge.ts # On-device direct execution bridge with privilege escalation (Termux/local mode)
│ │ └── device-manager.ts # Device discovery, TTL cache, serial routing
│ ├── tools/
│ │ ├── health.ts # Toolchain health check (1 tool)
│ │ ├── device.ts # Device info and properties (3 tools)
│ │ ├── shell.ts # Shell and root command execution (2 tools)
│ │ ├── packages.ts # App lifecycle, install, permissions, intents (12 tools)
│ │ ├── files.ts # File operations — push, pull, write, find, grep, replace, stat, checksum, chmod, chown, touch, fsinfo (18 tools)
│ │ ├── logs.ts # Logcat snapshots — filtered (3 tools)
│ │ ├── logcat-watch.ts # Persistent logcat with ring buffer and poll (4 tools)
│ │ ├── diagnostics.ts # dumpsys, telephony, battery, network, perf, bugreport, crash logs, heap dump (9 tools)
│ │ ├── ui.ts # Screenshots, input, activity, UI hierarchy, annotated screencap, screen state (8 tools)
│ │ ├── input-gestures.ts # Drag, long press, double tap, text, URL, orientation, clipboard, tap-element, wait-element, wait-stable, scroll-until, compressed screenshot, batch actions, fling, pinch, screen size, device state, notifications (18 tools)
│ │ ├── screen-record.ts # Screen video recording start/stop (2 tools)
│ │ ├── control.ts # Airplane, WiFi, data, location, screen, settings, reboot (9 tools)
│ │ ├── wireless.ts # WiFi pairing, connect, disconnect, TCP/IP (4 tools)
│ │ ├── forwarding.ts # Port forwarding — forward, reverse, list, remove, managed tunnels with auto-port-pick (8 tools)
│ │ ├── emulator.ts # AVD list, start, stop with on-device KVM/QEMU detection (3 tools)
│ │ ├── qemu.ts # QEMU/KVM VM management — setup, images, start, stop, status, guest ADB connect/disconnect/shell (8 tools)
│ │ ├── testing.ts # Structured test sessions with numbered steps (3 tools)
│ │ ├── multi-device.ts # Multi-device shell, install, compare, comparative testing (4 tools)
│ │ ├── snapshot.ts # Device state capture, compare, restore (3 tools)
│ │ ├── network-capture.ts # tcpdump start/stop, network connections (3 tools)
│ │ ├── ci.ts # CI wait-boot, device-ready, run-tests (3 tools)
│ │ ├── plugins.ts # Plugin loader, info, and dynamic tool loading (2 tools)
│ │ ├── baseband.ts # Modem/baseband inspection and radio diagnostics (6 tools)
│ │ ├── accessibility.ts # Automated WCAG accessibility auditing (3 tools)
│ │ ├── regression.ts # Performance baseline and regression detection (3 tools)
│ │ ├── device-farm.ts # Firebase Test Lab integration via gcloud (3 tools)
│ │ ├── registry.ts # Community plugin registry search/install (3 tools)
│ │ ├── at-commands.ts # AT command modem interface, multi-chipset, cross-validation (5 tools)
│ │ ├── screenshot-diff.ts # Visual regression — screenshot baseline/diff (3 tools)
│ │ ├── workflow.ts # Declarative workflow orchestration engine (3 tools)
│ │ ├── split-apk.ts # App bundles, split APKs, APEX modules (4 tools)
│ │ ├── mirroring.ts # Live screen mirroring via scrcpy (3 tools)
│ │ ├── test-gen.ts # Automated test workflow generation (3 tools)
│ │ ├── ota-monitor.ts # OTA update monitoring and fingerprinting (3 tools)
│ │ ├── ril-intercept.ts # RIL message interception from radio buffer (3 tools)
│ │ ├── device-profiles.ts # Device profile library with built-in entries (3 tools)
│ │ ├── firmware-analysis.ts # Modem firmware version parsing and diffing (3 tools)
│ │ ├── workflow-market.ts # Workflow marketplace — search, install, export (3 tools)
│ │ ├── selinux-audit.ts # SELinux status, AVC denials, permission auditing (3 tools)
│ │ ├── thermal-power.ts # Thermal zones, CPU frequency, battery drain (3 tools)
│ │ ├── network-discovery.ts # ADB-over-network scanning and auto-connect (3 tools)
│ │ ├── sensors.ts # Hardware sensor enumeration, IIO power monitor reading (2 tools)
│ │ ├── result-handles.ts # Tempdir-backed result handle store — list, drop, drop-all (3 tools) + the result://{tool}/{name} resource
│ │ ├── wireless-firmware.ts # WiFi, Bluetooth, NFC, GPS firmware identification (4 tools)
│ │ ├── build.ts # Gradle build and install (2 tools)
│ │ ├── resources.ts # MCP Resources — 4 device-state surfaces: device://info|battery|telephony|list (5th, result://, lives in result-handles.ts)
│ │ └── prompts.ts # MCP Prompts — workflow templates (4 prompts)
│ ├── middleware/
│ │ ├── auth.ts # Bearer token authentication for network transports (DA_AUTH_TOKEN)
│ │ ├── output-processor.ts # Contextual truncation, structured parsers, settledValue helper
│ │ ├── security.ts # Command filtering, rate limiting, audit logging with redaction
│ │ ├── sanitize.ts # Shell injection prevention — validateShellArg/validateShellArgs/shellEscape
│ │ ├── chipset.ts # Shared chipset family detection, modem path mapping, SIM config detection
│ │ ├── fetch-utils.ts # Shared HTTP helpers with 5 MB streaming response size limit
│ │ ├── png-utils.ts # Zero-dependency PNG decode/encode/draw primitives for screenshot annotation and diffing
│ │ ├── ui-dump.ts # Shared uiautomator XML capture with concurrent-safe paths, on-device /data/local/tmp routing, and cleanup
│ │ ├── cleanup.ts # Centralized process cleanup registry for SIGINT/SIGTERM/exit
│ │ ├── logger.ts # stderr-safe logging (MCP-compliant)
│ │ ├── fs-utils.ts # Filename sanitization, atomic write, private-dir helpers, within-dir containment check
│ │ ├── parse-utils.ts # Shared parseIntSafe for env-var numeric parsing (single source of truth)
│ │ └── result-handle.ts # Tempdir-backed tool result content cache with TTL, LRU, and token-hash isolation
│ └── config/
│ └── config.ts # Configuration, env vars, startup validation
├── package.json
├── tsconfig.json
├── server.json # MCP Registry metadata (io.github.fullread/deepadb)
├── .gitignore
├── README.md
├── SECURITY.md # Threat model, security architecture, deployment hardening, vulnerability reporting
├── CHANGELOG.md # Version history from v0.1.0 to current
├── LICENSE # Apache 2.0 license
└── tests/
├── run-all.mjs # Run all test suites sequentially with summary (tracks skipped counts)
├── test-hw.mjs # Hardware core: health, identity, baseband, thermal, profiles, wireless firmware, crash analysis (34 tests)
├── test-shell-files.mjs # Shell, filesystem, packages, diagnostics (24 tests)
├── test-ui-control.mjs # UI hierarchy, screenshots, settings, input gestures, UI automation, device awareness, accessibility, screen lock/unlock, multi-touch (46 tests)
├── test-monitoring.mjs # Logcat watchers, snapshots, OTA, regression, workflows (43 tests)
├── test-security.mjs # Input sanitization, shell injection, AT command safety, QEMU shell escaping, heap-dump validation (116 on-device, 105 host)
├── test-lifecycle.mjs # App lifecycle, file push/pull, input, port forwarding, screen recording, test sessions (24 tests)
├── test-analysis.mjs # Thermal/snapshot/regression comparison, firmware diff, screenshot diff, test gen, RIL intercept, AT cross-validation, permission management (23 tests)
├── test-boundaries.mjs # Zod bounds enforcement, input injection, error paths, sensitive data protection, wireless ADB coverage, multi-device basics, tunnel automation, device-free coverage boundaries (78 tests)
├── test-sensors.mjs # HAL sensors, IIO power monitors, category filters, formatting, wake-up, rate display (30 tests)
├── test-files-extended.mjs # File tool coverage — write, find, stat, checksum, mkdir, rm, move, copy, chmod, touch, fsinfo, chown, grep, replace; push safety; sed-escape regression (95 tests)
├── test-result-handles.mjs # Result handle store — listing, retrieval, drop, isolation, eviction (19 tests)
├── test-qemu.mjs # QEMU/KVM setup, image management, VM status, guest connectivity errors (13 on-device tests)
├── test-qemu-boot.mjs # QEMU Alpine VM boot with auto-fetch of kernel/initrd, KVM acceleration, topology detection, guest ADB connectivity (17 on-device tests)
├── test-supply-chain.mjs # Supply-chain hardening checks for fetch and network paths (24 tests)
├── test-sanitize-fuzz.mjs # Property-based fuzzing of shell sanitizers — shellQuote/shellEscape round-trip, validateShellArg rejection (19 tests)
├── test-transports.mjs # Transport smoke — HTTP/SSE + WebSocket MCP round-trip, GraphQL health query (8 tests)
└── lib/
└── harness.mjs # Shared test harness (stdio JSON-RPC transport, assertion primitives)Tech-Stack
Runtime: Node.js ≥22 (ES2024, ESM; Node 22.12+ für Testabdeckung)
Sprache: TypeScript 6.0 (Strict-Modus, NodeNext-Modulauflösung)
MCP SDK:
@modelcontextprotocol/sdk^1.24.0 (derzeit auf 1.30.0 aufgelöst)Validierung: Zod ^4.4.3
Transport: stdio (JSON-RPC), HTTP/SSE, WebSocket (optional
ws), GraphQL API (optionalgraphql)
Lizenz
Apache License 2.0 — siehe LICENSE und NOTICE. Das Release v1.1.2 wurde von MIT zu Apache 2.0 migriert, um die Anforderungen an eine ausdrückliche Patenterteilung und die Namensnennung von Mitwirkenden zu erfüllen; bestehende Forks/Installationen bleiben unter den bisherigen MIT-Bedingungen gültig.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceA MCP server that enables AI assistants to control Android devices via ADB, supporting device info, screen control, input simulation, app management, shell execution, file transfer, and UI parsing.20
- FlicenseNot gradedqualityDmaintenanceA powerful MCP server that provides comprehensive Android device automation capabilities through ADB, enabling AI agents to interact with Android devices for testing, automation, and device control tasks.1
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps Android ADB functionality into AI assistant tools, enabling device management, shell execution, file operations, app management, media capture, and log analysis via natural language.281MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server designed for Android development, enabling AI assistants to directly control Android devices for screenshots, UI analysis, app management, and more.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fullread/DeepADB'
If you have feedback or need assistance with the MCP directory API, please join our Discord server