# Ghost in the Droid

An open-source framework that gives an LLM agent control of a real Android phone or iPhone, letting it read the screen, tap, swipe and type through 62 MCP tools, with a choice of cloud, local or on-device models.

Ghost in the Droid is an open-source framework that gives an LLM agent a real phone to operate: it reads the screen and taps, swipes and types through a tool surface of 62 MCP tools, scaling from one device on a desk to a farm of many devices.

It drives Android over USB or Wi-Fi ADB, or in a Docker and KVM emulator pool, and drives iPhone through Appium and WebDriverAgent, locally or over Tailscale. The model behind the agent can be Claude Code, the Anthropic API, OpenRouter, a locally run Ollama or vLLM model, or a model running on the phone itself through llama.cpp, MediaPipe or MLX.

It can be driven through an MCP client such as Claude Code, Codex, Antigravity or Cursor, a LangChain toolkit, a LlamaIndex tool spec, its own CLI, a REST API, or a web dashboard that streams the live phone screen. It is written in Python with a FastAPI backend and a Vue dashboard.

Website: https://ghostinthedroid.com
