Ghost In The Droid MCP Server

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

Local serverstdioPython

What is the Ghost In The Droid MCP Server?

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

What you get

Website · Docs · Skill Hub · Releases

  • Android control through ADB: tap, swipe, type, clipboard, shell, intents, and stealth variants
  • iOS control through WebDriverAgent: screenshot, accessibility tree, tap, swipe, type, app launch, clipboard, browser actions
  • Live phone screen streaming: Android MJPEG/WebRTC, iOS WDA MJPEG with screenshot fallback
  • Interactive touch-to-tap on the streamed screen
  • Multi-device phone farm with per-device job queues
  • YAML-based UI element definitions per app

Configuration and credentials

  • Python 3.10+ - Android: Android phone with USB debugging enabled and ADB on PATH (adb devices should list your phone) - iOS: macOS with Xcode, Appium 2 + XCUITest driver, and a trusted iPhone or booted simulator - Node.js 18+ (for the frontend dev server) ---

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

How to install the Ghost In The Droid MCP Server

{
  "mcpServers": {
    "android-agent": {
      "command": "npx",
      "args": ["-y", "vite"],
      "env": {
        "IOS_DEVICE_UDID": "your-value",
        "IOS_APPIUM_URL": "your-value",
        "IOS_BUNDLE_ID": "your-value",
        "IOS_MJPEG_SERVER_PORT": "your-value",
        "ANTHROPIC_API_KEY": "your-value",
        "OPENAI_API_KEY": "your-value",
        "OPENROUTER_API_KEY": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Python 3.10+ - Android: Android phone with USB debugging enabled and ADB on PATH (adb devices should list your phone) - iOS: macOS with Xcode, Appium 2 + XCUITest driver, and a trusted iPhone or booted simulator - Node.js 18+ (for the frontend dev server) ---
VariableDescriptionRequired
IOS_DEVICE_UDIDConfiguration value read at startup.Optional
IOS_APPIUM_URLEndpoint or connection string the server talks to.Yes
IOS_BUNDLE_IDConfiguration value read at startup.Optional
IOS_MJPEG_SERVER_PORTConfiguration value read at startup.Optional
ANTHROPIC_API_KEYCredential the server authenticates with.Yes
OPENAI_API_KEYCredential the server authenticates with.Yes
OPENROUTER_API_KEYCredential the server authenticates with.Yes

Frequently asked questions

Give any LLM agent a real Android or iPhone as its body. 62 MCP tools for mobile automation. Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.