Android-MCP is a lightweight, open-source bridge between AI agents and Android devices. Running as an MCP server, it lets large-language-model agents perform real-world tasks such as app navigation, UI interaction and automated QA testing without relying on traditional computer-vision pipelines or preprogramed scripts.
Demo.mov
-
Native Android Integration
Interact with UI elements via ADB and the Android Accessibility API: launch apps, tap, swipe, input text, and read view hierarchies. -
Bring Your Own LLM/VLM
Works with any language model, no fine-tuned CV model or OCR pipeline required. -
Rich Toolset for Mobile Automation
Pre-built tools for gestures, keystrokes, capture, device state, shell commands execution. -
Real-Time Interaction
Typical latency between actions (e.g., two taps) ranges 2-4s depending on device specs and load.
- Android 10+
- Python 3.10+
- UIautomator2
- Android Emulator/ Android Device
- Clone the repository
git clone https://github.com/CursorTouch/Android-MCP.git
cd Android-MCP
- Install dependencies
uv python install 3.10
uv sync
-
Connect to the MCP server
-
Locate your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Add the following JSON to your Claude Desktop config:
{
"mcpServers": {
"android-mcp": {
"command": "path/to/uv",
"args": [
"--directory",
"path/to/Android-MCP",
"run",
"main.py",
"--emulator"
]
}
}
}
Replace:
path/to/uv
with the actual path to your uv executablepath/to/Android-MCP
with the absolute path to where you have cloned this repo
NOTE: --emulator
this is used to run in emulator, remove it to use actual device
- Restart the Claude Desktop
Open your Claude Desktop, “android-mcp” should now appear as an integration.
For troubleshooting tips (log locations, common ADB issues), see the MCP docs.
Claude can access the following tools to interact with Windows:
State-Tool
: To understand the state of the device.Click-Tool
: Click on the screen at the given coordinates.Long-Click-Tool
: Perform long click on the screen at the given coordinates.Type-Tool
: Type text on the specified coordinates (optionally clears existing text).Swipe-Tool
: Perform swipe from one location to other.Drag-Tool
: Drag from one point to another.Press-Tool
: To press the keys on the mobile device (Back, Volume Up, ...etc).Wait-Tool
: Pause for a defined duration.State-Tool
: Combined snapshot of active apps and interactive UI elements.Notification-Tool
: To access the notifications seen on the device.Shell-Tool
: To execute shell commands on the android device.
Android-MCP can execute arbitrary UI actions on your mobile device. Use it in controlled environments (emulators, test devices) when running untrusted prompts or agents.
This project is licensed under the MIT License. See LICENSE for details.
Contributions are welcome! Please read CONTRIBUTING for dev setup and PR guidelines.
Made with ❤️ by Jeomon George
@misc{
author = {Jeomon George},
title = {Android-MCP},
year = {2025},
publisher = {GitHub},
howpublished = {\url{https://github.com/CursorTouch/Android-MCP}},
note = {Lightweight open-source bridge between LLM agents and Android},
}