
About
A lightweight, open-source tool that bridges AI agents and Android devices. Running as an MCP server, it lets LLM agents perform real-world tasks such as app navigation, UI interaction and automated QA testing without relying on traditional computer-vision pipelines or preprogrammed scripts.
Features
- 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.
Requirements
- Python 3.13
- ADB (Android Debug Bridge)
- Android 10+ (Emulator or Android Device)
Device Selection
Android-MCP resolves devices lazily when a tool is called, so the MCP server can start even if no device is available yet.
--device SERIAL: connect to a specific USB serial--device HOST:PORT: connect to a specific WiFi ADB target--wifi HOST: use WiFi and auto-append port 5555--usb: auto-detect the first USB-connected device--connection wifi|usb: prefer WiFi or USB devices
If nothing is configured, Android-MCP will use the first available ADB device reported by adb devices.
Available Tools
- State-Tool: Understand the state of the device
- Click-Tool: Click on the screen at given coordinates
- Long-Click-Tool: Perform long click on the screen
- Type-Tool: Type text at specified coordinates (optionally clears existing text)
- Swipe-Tool: Perform swipe from one location to another
- Drag-Tool: Drag from one point to another
- Press-Tool: Press device keys (Back, Volume Up, etc.)
- Wait-Tool: Pause for a defined duration
- Notification-Tool: Access notifications on the device
- Shell-Tool: Execute shell commands on the Android device
Environment Variables
- SCREENSHOT_QUANTIZED: Set to
trueto quantize screenshots and reduce input tokens
Caution
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 server runs through your single 1Server connection. No extra config required.