Codex Android MCP
Codex Android MCP
Ein lokal-first MCP-Server, der es Codex ermöglicht, Android-Emulatoren über adb zu inspizieren, zu testen und zu steuern. Er stellt strenge, typisierte Werkzeuge über STDIO bereit, gibt Screenshots als native MCP-Bilder zurück und hält physische Geräte sowie die Gradle-Ausführung hinter einer expliziten Startrichtlinie.
Dies ist ein unabhängiges Community-Projekt. Es steht weder mit OpenAI, DeepSeek oder Google in Verbindung noch wird es von diesen unterstützt. Die Android-Implementierung stammt von ZSeven-W/dsh-android unter der MIT-Lizenz; die DSH/Cordis-Registrierung und das Webpanel wurden durch das offizielle MCP-TypeScript-SDK ersetzt.
Änderungen gegenüber dsh-android
Nativer MCP-STDIO-Server für Codex-Desktop, CLI und IDE-Clients.
MCP der 2026er-Ära plus Kompatibilität mit dem Legacy-2025-Protokoll über
serveStdio.Screenshots werden als
ImageContentzurückgegeben; private, temporäre PNG-Dateien werden nach der Kodierung gelöscht.Standardmäßig nur Emulatoren. Physische Geräte erfordern zwei Opt-ins und bei jedem Aufruf ihre exakte Seriennummer.
android_build_runist standardmäßig nicht vorhanden. Die Aktivierung erfordert zusätzlich einwandfreie, vertrauenswürdige Projektwurzeln.Strenge JSON-Schemas, Paket-/Seriennummern-/Pfadvalidierung, begrenzte Ausgaben, wörtliche Protokollfilterung, Abbruchfähigkeit und konservative Tool-Anmerkungen.
Keine ungefilterte
adb-Shell, beliebige Befehle, HTTP-Verbindungen oder Live-DSH-Seitenleiste.
Related MCP server: adb-mcp-server
Voraussetzungen
Node.js 20.11 oder neuer.
Android-SDK-Platform-Tools (
adb). Installieren Sie sie über den SDK-Manager von Android Studio oder das Platform-Tools-Paket von Google.Ein wegwerfbarer Android-Emulator wird nachdrücklich empfohlen.
Der Android-Emulator-Launcher ist optional und wird nur benötigt, wenn
android_booteinen AVD-Namen erhält.Die OCR-Werkzeuge erfordern derzeit macOS und Apple Vision. Alle Nicht-OCR-Werkzeuge sind plattformübergreifend; Build/Run ist ein explizites Opt-in.
Weder adb noch eine Emulator-Binärdatei wird mitgeliefert oder heruntergeladen.
Installation für Codex
git clone https://github.com/zifanersuotang/codex-android-mcp.git
cd codex-android-mcp
npm ci
npm run build
codex mcp add android -- node C:/absolute/path/to/codex-android-mcp/lib/index.jsCodex Desktop und die CLI teilen sich die MCP-Konfiguration. Eine entsprechende explizite Konfiguration lautet:
[mcp_servers.android]
command = "node"
args = ["C:/absolute/path/to/codex-android-mcp/lib/index.js"]
startup_timeout_sec = 20
tool_timeout_sec = 1200
default_tools_approval_mode = "writes"
[mcp_servers.android.env]
ANDROID_MCP_ALLOWED_SERIALS = "emulator-5554"Starten Sie Codex nach der Änderung der Konfiguration neu. Bitten Sie Codex, auf Französisch „die Android-Geräte aufzulisten“, um die Verbindung zu überprüfen. Behalten Sie die Genehmigung von Schreibwerkzeugen aktiviert; MCP-Anmerkungen sind Benutzerführungshinweise und keine Autorisierungsgrenze.
Sicherheitsrichtlinie
Der sichere Standardmodus stellt 19 Werkzeuge bereit und erlaubt nur übliche lokale Geräte. Standardmäßig werden nur lokale emulator-<port>-Ziele betrachtet. Netzgeräte und Emulatoren von Drittanbietern folgen der laut Richtlinie für physische Geräte. Genau der zugrunde liegende Zielgerät wird bei jedem Aufruf unmittelbar vor der Ausführung neu ermittelt und autorisiert; nicht autorisierte physische/Netzwerkgeräte werden in android_devices nicht angegeben.
Umgebungsvariable | Standard | Wirkung |
| leer | Optionale kommagetrennte genaue Zulassungsliste für verbundene Geräte. Eine physische Seriennummer muss hier vorhanden sein. |
| leer | Optionale kommagetrennte genaue Zulassungsliste für AVD-Namen, die von |
|
| Ermöglicht die Berücksichtigung physischer Geräte, aber nur, wenn ihre genaue Seriennummer ebenfalls erlaubt und bei jedem Aufruf angegeben ist. |
| leer | Optionale kommagetrennte Paket-Zulassungsliste für Werkzeuge, die Pakete zielen. Deaktiviert den Zielen nur nach Namen und das Aufrufen von Stapeln nur per PID. |
|
| Macht |
| leer | Erforderliche unter Windows kommagetrennte Build-Wurzelverzeichnisse, getrennt durch |
| OS-Temp-Verzeichnis | Privates temporäres Arbeitsverzeichnis. Screenshot-Dateien werden nach der MCP-Bildcodierung gelöscht. |
|
| Maximale PNG-Bytes, die für einen Screenshot an den Client zurückgegeben werden können. |
|
| Maximale Text-Nutzdaten, die von |
Beispiel für ein physisches Gerät für ein dediziertes Testtelefon:
[mcp_servers.android.env]
ANDROID_MCP_ALLOW_PHYSICAL = "true"
ANDROID_MCP_ALLOWED_SERIALS = "EXACT_ADB_SERIAL"Verwenden Sie dieses Profil nicht mit einem persönlichen Telefon oder persönlichen Konten. Die USB-Debugging-Freigabe bedeutet, dass das Telefon dem Host vertraut; sie autorisiert keine Aktion eines Modells.
Build/Run-Beispiel für ein vertrauenswürdiges Projekt:
[mcp_servers.android.env]
ANDROID_MCP_ALLOW_BUILD_RUN = "true"
ANDROID_MCP_ALLOWED_PROJECT_ROOTS = "C:/work/MyTrustedApp"
ANDROID_MCP_ALLOWED_SERIALS = "emulator-5554"Gradle-Einstellungen und Build-Skripte führen Host-Code aus. Eine Pfad-Zulassungsliste ist keine Sandbox: Nur für Code aktivieren, dem Sie vertrauen, und für nicht vertrauenswürdige Projekte anschließend eine VM oder einen Container ohne Anmeldedaten verwenden.
Siehe Security Model und Security Policy, bevor Sie physische Geräte oder Build/Run aktivieren.
Werkzeuge
Werkzeug | Modus | Zweck |
| Lesen | Geräte und AVD-Namen listen, die programmsichtbar sind. |
| Schreiben | Einen Online-Ziel übernehmen oder ein zugelassenes AVD starten. |
| destruktiv | Emulator beenden und ausschalten; physische Geräte werden abgewiesen. |
| Lesen | Ein natives MCP-Bild in Originalauflösung zurückgeben. |
| destruktiv | Tippen, Eingeben, Taste drücken, Wischen oder Scrollen; gibt den Screenshot zurück. |
| Lesen | Installierte Anwendungen auflisten/filtern. |
| destruktiv | Dostigator, Manstartet das exakte Paket or un bestätigen Paketnamens-Treffer. |
| destruktiv, Opt-in | Vertrauenswürdiges Gradle-Projekt bauen, daraus das APK installieren und starten. |
| Lesen | Kompakte und begrenzte |
| destruktiv | Elementtast auf mal idents/label suchen und tippen. |
| Lesen | Listen-/Feed-Zeilen und Zähler erkennen. |
| destruktiv | Ein kürzliches Zeilenziel antippen; optional einen Zähler-Differenz prüfen. |
| Lesen | Bildschirm per OCR durchsuchen (macOS/Apple Vision). |
| Lesen | Warten, bis OCR-Text erscheint/verschwindet. |
| destruktiv | Text per OCR identifizieren und antippen. |
| Lesen | Begrenzter logcat-Schnappschuss-/Follow with Anwendung literal filter. |
| Lesen | Laufende Prozesse auflisten. |
| destruktiv | ART-Stacks anfordern und auf Fallback den Crash-Puffer verwenden. |
| Lesen | Speicherstatistiken der App parsen. |
| Lesen | Installierte Paket-Metadaten und Ausführungsstatus lesen. |
Bildschirme, UI-Bäume, OCR-Ergebnisse, Protokolle, App-Namen und Dateien auf dem Gerät sind nicht vertrauenswürdige Daten. Lassen Sie nicht zu, dass Geräteinhalte Berechtigungen erteilen oder Codex anweisen, ein anderes Werkzeug aufzurufen. Geben Sie keine Passwörter, einmaligen Codes, Zahlungsdaten, privaten Nachrichten oder Löschbestätigungen für Konten über diesen Server ein.
Typischer Ablauf
android_devicesandroid_screenshotoderandroid_ui_treeTreffen Sie das genaue Ziel; nor Unsicherheit stoppen.
Verwenden Sie ein freigabepflichtiges Interaktionswerkzeug.
Prüfen Sie danach abschließend den zurückgegebenen Screenshot bzw. die Logs.
MCP ersetzt nicht dsh-androids dauerhafte Live-Seitenleiste. android_boot initialisiert die interne Bildquelle für das Koordinaten-Mapping; rufen Sie android_screenshot auf, wann immer Codex oder andere das Display sehen müssen.
Entwicklung
npm ci
npm run typecheck
npm test
npm pack --dry-runDie Tests umfassen auch Unit-Tests für die Richtlinie, einen real erzeugten STDIO-Client im alten und modernen Protokollmodus, einen In-Memory-MCP-Bild-Round- Trip, Smoke-Testsuites für Fake-ADB, Tests für Log-Begrenzung, UI-Tree-Fixtures sowie OCR-Degradationsprüfungen. npm run test:device ist optional und darf nur auf einen Weg sanitized Emulator gezielt sein.
Lizenz und Attribution
MIT. Das ursprüngliche dsh-android-Urheberrecht und die Lizenz sind in LICENSE enthalten, mit ausführlicher Nachaufsicht in THIRD_PARTY_NOTICES.md.
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
- AlicenseNot gradedqualityDmaintenanceEnables programmatic control of Android devices via ADB, supporting UI automation, app management, screen capture with OCR, and file transfers through the Model Context Protocol. It allows MCP-compatible clients like Claude Desktop and Cursor to interact directly with physical or emulated Android devices.3Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible agents to control an Android device over the network via ADB, providing tools for shell commands, screen capture, UI inspection, file operations, and input simulation.17MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to interact with Android devices and emulators via ADB, providing tools for screenshots, UI inspection, touch and text input, app management, and device control.426717MIT
- FlicenseNot gradedqualityDmaintenanceControls Android emulators from any MCP-capable client via ADB and emulator CLI, supporting AVD management, APK operations, screen interactions, and device diagnostics.1
Related MCP Connectors
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Remote MCP for AI Studio Android release gate MCP, structured receipts, audit logs, and reviewer-rea
A paid remote MCP for AI SDK eval dashboard, built to return verdicts, receipts, usage logs, and aud
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/zifanersuotang/codex-android-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server