# Ghost in the Droid [Health: Active]

**Category:** 🖥️ OS Automation  
**Repository:** https://github.com/ghost-in-the-droid/android-agent  
**GitHub Stars:** 400  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/ghost-in-the-droid

## Description
Give any LLM agent a real Android or iPhone as its body. 62 MCP tools for mobile automation.

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

```json
"mcpServers": {
  "ghost-in-the-droid": {
    "command": "uvx",
    "args": ["ghost-in-the-droid"]
  }
}
```

## Documentation

## What Ghost in the Droid does

Ghost in the Droid MCP server connects an LLM agent to Android and iOS devices through a shared automation interface. It exposes 62 MCP tools for observing and controlling a phone, including screenshots, accessibility or UI-tree inspection, taps, swipes, text entry, clipboard operations, app launching, browser actions, and selected shell or intent operations on Android.

Android targets can be physical devices or emulators identified through ADB. iOS targets use Appium with XCUITest and WebDriverAgent, supporting real iPhones as well as booted simulators for development and CI. The project also provides live screen streaming, interactive touch input on the streamed view, and per-device job queues for phone-farm operation.

## How it works

The agent selects a device and calls the MCP tools to inspect the current interface and perform actions. Android control is handled by ADB, with an optional Portal companion app for streaming. iOS control is handled through WebDriverAgent, with MJPEG streaming and screenshot polling as a fallback.

Automation can be organized into reusable skills. Skills combine YAML-based UI element definitions with Python action classes and multi-step workflows. Separate element files can describe Android and iOS selectors. The framework includes an app explorer that uses breadth-first search to discover screens and transitions, plus an AI-assisted creator that can identify interface elements and generate action or workflow code while viewing the device stream.

The same device-control surface can be used from MCP clients, a CLI, LangChain, LlamaIndex, a web dashboard, or a REST API, according to the project documentation. Models can run through hosted providers or locally, including supported on-device runtimes, while the phone remains the automation target.

## Setup and configuration

Ghost in the Droid MCP server requires Python 3.10 or newer. Android setup uses ADB and can connect over USB or Wi-Fi; Android emulator environments are also supported. iOS setup requires a Mac with Xcode and WebDriverAgent signing for real-device use. iOS simulators are available for development and CI through Appium and WebDriverAgent.

Skills can be installed from the CLI; the documented pattern is `android-agent skill install tiktok`. Built-in and community skills cover examples such as TikTok and the Play Store.

## Tools and capabilities

- Inspect Android UIAutomator XML or the normalized iOS accessibility tree.
- Capture screenshots and stream live Android or iOS device views.
- Tap, swipe, type, use the clipboard, and launch applications.
- Use Android shell, intent, and stealth-oriented controls.
- Perform iOS browser actions through the WebDriverAgent path.
- Define app workflows with platform-specific selectors and Python actions.
- Explore apps automatically and generate skills with AI assistance.
- Queue, schedule, and monitor jobs across multiple devices.
- Record Android screens or iOS WebDriverAgent streams for integration tests.
- Browse, search, and install skills through the Skill Hub.

The Ghost in the Droid MCP server is suitable for mobile UI automation, device-based testing, app exploration, and agent workflows that require interaction with a real phone rather than only an emulator or API.

## Limitations and notes

Android and iOS do not use the same backend or device requirements. Real iPhone control depends on macOS, Xcode, and WebDriverAgent signing. The Android Docker and KVM emulator pool is Android-only; iOS simulator workflows use Apple’s native simulator and Xcode tooling.

Device access and app behavior still depend on the connected phone, emulator, simulator, operating-system permissions, and the relevant automation backend.

_Full upstream README: https://allmcps.com/mcp/ghost-in-the-droid/readme_

