← all repositories
CursorTouch/Android-MCP

LLM agents get a native Android remote control

It bridges LLM agents to Android devices via MCP, letting them tap, swipe, and inspect UI hierarchies without traditional computer-vision pipelines.

721 stars Python AgentsCoding Assistants
Android-MCP
Not currently ranked — collecting fresh signals.
star history

What it does

Android-MCP exposes an Android 10+ device as a collection of MCP tools that LLM agents can invoke. Using ADB and the Android Accessibility API, it lets agents launch apps, tap and swipe at coordinates, input text, read view hierarchies, execute shell commands, and check notifications. The goal is to replace preprogrammed automation scripts with natural-language-driven interaction for tasks like app navigation and QA testing.

The interesting bit

Instead of relying on computer-vision models or OCR to parse the screen, the server reads the native UI tree directly through the Accessibility API. That means any off-the-shelf LLM or VLM can drive it without fine-tuned vision models. The server also starts lazily: it boots without a device attached and auto-detects the first available ADB target when a tool is actually called.

Key highlights

  • Toolset includes Click-Tool, Swipe-Tool, Type-Tool, Shell-Tool, and a State-Tool that snapshots active apps plus interactive elements.
  • Typical latency between actions is 2–4 seconds, depending on device specs and load.
  • Supports both USB and Wi-Fi ADB, with auto-detection, explicit serial targeting, or environment variables like ANDROID_MCP_CONNECTION.
  • Optional SCREENSHOT_QUANTIZED environment variable reduces screenshot token counts before they reach the model.
  • If no device is configured, it falls back to the first adb devices entry; if none exist, tool calls return a configuration error rather than crashing the MCP handshake.

Caveats

  • The README warns that the tool can execute arbitrary UI actions, so untrusted prompts and agents should be run on emulators or test devices only.
  • Windows users must use Python 3.13; Python 3.14 currently fails to resolve a transitive pywin32 dependency in the MCP stack.

Verdict

A practical choice if you want LLM agents to manipulate real Android apps for automation or testing. Less compelling if you need faster-than-a-few-seconds latency or a polished no-code interface.

Frequently asked

What is CursorTouch/Android-MCP?
It bridges LLM agents to Android devices via MCP, letting them tap, swipe, and inspect UI hierarchies without traditional computer-vision pipelines.
Is Android-MCP open source?
Yes — CursorTouch/Android-MCP is open source, released under the MIT license.
What language is Android-MCP written in?
CursorTouch/Android-MCP is primarily written in Python.
How popular is Android-MCP?
CursorTouch/Android-MCP has 721 stars on GitHub.
Where can I find Android-MCP?
CursorTouch/Android-MCP is on GitHub at https://github.com/CursorTouch/Android-MCP.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.