Ghost in the Droid · MCP Server
MCP-Server · lesen und senden · MIT · lokal (stdio)
Beschreibung des Anbieters
Give any LLM agent a real Android or iPhone as its body. 62 MCP tools for mobile automation.
Werkzeuge
list_devicesList connected Android ADB devices and configured iOS Appium devices. Call this first to get the device serial you need for other tools.
Angabe des Anbieters · Beleg 5screenshotTake a screenshot of the device screen. Returns a base64-encoded JPEG. Use this to SEE what's on screen before deciding what to tap.…
Angabe des Anbieters · Beleg 5get_elementsGet all UI elements on the current screen as a JSON array. Each element has: idx, text, content_desc, resource_id, class, bounds, center, clickable, scrollable.…
Angabe des Anbieters · Beleg 5tapTap at exact pixel coordinates (x, y) on the device screen.
Angabe des Anbieters · Beleg 5tap_elementTap a UI element by its index from get_elements(). Call get_elements() first to see what's on screen and get element indices.
Angabe des Anbieters · Beleg 5swipeSwipe from (x1,y1) to (x2,y2). Use for scrolling, pulling down notifications, etc.…
Angabe des Anbieters · Beleg 5type_textType text into the currently focused input field. Tap an input field first to focus it. Spaces are supported.…
Angabe des Anbieters · Beleg 5type_unicodeType unicode text into the focused field. Android uses ADBKeyboard when configured; iOS uses WDA text entry. Use type_text() for plain ASCII.
Angabe des Anbieters · Beleg 5press_backPress Back on Android or the best available iOS browser/navigation back action.
Angabe des Anbieters · Beleg 5press_homePress the platform Home button. Returns to the home screen.
Angabe des Anbieters · Beleg 5press_keySend a platform key event. Android accepts KEYCODE_* names, with the KEYCODE_ prefix added automatically. iOS supports WDA-backed HOME, ENTER/RETURN, and BACK/ESCAPE.
Angabe des Anbieters · Beleg 5launch_appLaunch an app by Android package name or iOS bundle id. Use search_apps() to find it. Args: device: ADB serial or ios:<udid>. package: App package name or iOS bundle id, e.g.…
Angabe des Anbieters · Beleg 5force_stopForce-stop an Android package or terminate an iOS bundle id.
Angabe des Anbieters · Beleg 5app_stateCheck whether an Android package or iOS bundle id is installed, running, or foreground.
Angabe des Anbieters · Beleg 5open_cameraOpen the platform camera app in a specific mode. Android uses launcher/UI automation; iOS uses the Camera bundle and WDA UI controls. No package or bundle id is required.…
Angabe des Anbieters · Beleg 5speak_textMake the phone speak text aloud using its built-in TTS engine. Works whether the agent runs on the phone or on a PC — the call always goes through the Ghost portal app running on the device.…
Angabe des Anbieters · Beleg 5search_appsSearch installed apps by name. Case-insensitive. Returns Android packages or iOS bundle ids. Example: search_apps('tiktok') → [{"name": "TikTok", "package": "com.zhiliaoapp.musically"}]
Angabe des Anbieters · Beleg 5list_appsList installed apps with human-readable names and package names or bundle ids. iOS is limited to configured/common bundle ids verified through Appium.
Angabe des Anbieters · Beleg 5list_packagesList raw Android package names or iOS bundle ids. Prefer list_apps() for display names.
Angabe des Anbieters · Beleg 5long_pressLong press at coordinates. Use for context menus, drag initiation, etc.
Angabe des Anbieters · Beleg 5get_phone_stateGet current app, activity, keyboard state, and focused element. Quick way to check what app/screen the device is on without parsing full elements.
Angabe des Anbieters · Beleg 5device_healthRun a comprehensive device health check. iOS includes Appium/WDA status, active session details, and recovery steps.
Angabe des Anbieters · Beleg 5fix_device_healthApply a recovery action returned by device_health.recommended_fix.
Angabe des Anbieters · Beleg 5get_screen_treeGet an LLM-friendly indented UI hierarchy of the current screen. Each node shows: [idx] ClassName "label" [clickable] [x1,y1][x2,y2].…
Angabe des Anbieters · Beleg 5get_screen_xmlGet the raw normalized UI XML dump from the device. Android returns uiautomator XML; iOS returns normalized Appium/WDA XML. Use get_screen_tree() instead for a readable summary.…
Angabe des Anbieters · Beleg 5screenshot_annotatedTake a screenshot with numbered element labels overlaid on interactive elements. The numbers correspond to element indices from get_elements().…
Angabe des Anbieters · Beleg 5screenshot_croppedTake a screenshot of a specific region of the screen. Coordinates are in device pixels. Use this to zoom in on a specific area (e.g., a form field, a notification, a chart).…
Angabe des Anbieters · Beleg 5start_screen_recordingStart recording the device screen. iOS uses WDA MJPEG captured through ffmpeg. Android uses adb screenrecord.
Angabe des Anbieters · Beleg 5stop_screen_recordingStop a running device screen recording and save the MP4.
Angabe des Anbieters · Beleg 5screen_recording_statusReturn active screen recording status for a device.
Angabe des Anbieters · Beleg 5
Voraussetzungen
uvx· Paketmanager · erforderlich · Beleg 1Python· Laufzeit · erforderlich · Beleg 6Node.js· Laufzeit · erforderlich · Beleg 6GHOST_HOME_OVERRIDE· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 7OPENAI_API_KEY· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6ANTHROPIC_API_KEY· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6OPENROUTER_API_KEY· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6DEFAULT_DEVICE· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6IOS_DEVICE_UDID· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6IOS_APPIUM_URL· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6IOS_BUNDLE_ID· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6IOS_DEVICES_JSON· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6IOS_MJPEG_SERVER_PORT· Umgebungsvariable · Pflichtigkeit nicht deklariert · Beleg 6
Installation
uvx ghost-in-the-droid==1.3.2Angaben zum Baustein
- Maintainer
- ghost-in-the-droid
- Repository-Lizenz
- MIT
- Dienstanbieter
- Offizielle Dienstherkunft nicht belegt
- Dienste
- —
- Bereiche
- Vertrieb, Content
- Plattformen
- —
- Version
- 1.3.2
- Release
- v1.5.1
- Clients
- Claude Desktop, Cursor, Windsurf
- Repository-Themen
- adb, android, android-automation, automation, bot-framework, fastapi, mcp, open-source, phone-farm, python
- Homepage
- Homepage des Anbieters
Zugriffe und Risiken
- Regelbasiert abgeleitete Zugriffe
- lesen, senden
- Authentifizierung
- —
- Transport
- stdio
- Technische Prüfung
- Ungeprüft
Fehlende Angaben bedeuten unbekannte Zugriffe. Vor dem Einsatz Konten, Dateien, Netzwerkverbindungen und Ausführungsrechte im konkreten Paket prüfen. Eine frische Änderung am Repository belegt keine Wartung jeder einzelnen Datei.
Nur die für den Arbeitsablauf nötigen Berechtigungen vergeben und Schreibaktionen mit einem Freigabeschritt absichern. Lizenz und Wartungsdatum sind keine Sicherheitsfreigabe.
Der Lizenzbeleg betrifft das Quellcode-Repository. Einzelne Unterpakete und gehostete Dienste können eigene Bedingungen haben; prüfe sie beim konkreten Installations- oder Diensteangebot.
Belege und Datenstand
Paket und Herkunft
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Abgerufen und Felder geprüft: 2026-10-04; technische Prüfung: ungeprüft
4E3E40A3<MCPSERVE<20261004<<<<Q7<UNGEPRUEFT<<<<<<<<<<<<<<<<<