
Android
Android MCP is a lightweight MCP server that enables AI agents to interact with Android devices (version 10+) by bridging LLM agents to native Android functionality through ADB and the Android Accessibility API. It provides tools for app navigation, UI interaction, gesture control, text input, and automated QA testing without requiring computer-vision models or preprogrammed scripts. The server supports any language model or VLM and delivers typical action latencies of 2-4 seconds, enabling real-time mobile automation workflows.
- GitHub stars
- 602
- tools
- 14
- last updated
- Mar 7, 2026
Tools
14 toolsPublic tool metadata for what this MCP can expose to an agent.
ListDevicesList the connected devices.
List the connected devices.
No parameter schema in public metadata yet.
ConnectDeviceChoose the device to operate.
Choose the device to operate.
No parameter schema in public metadata yet.
DeviceDisconnect the device.
Disconnect the device.
No parameter schema in public metadata yet.
SnapshotThe interactive elements, each with a label and tap coordinates; use_vision adds a screenshot with the labels drawn on it.
The interactive elements, each with a label and tap coordinates; use_vision adds a screenshot with the labels drawn on it.
No parameter schema in public metadata yet.
ClickTouch input by coordinates.
Touch input by coordinates.
No parameter schema in public metadata yet.
LongClickTouch input by coordinates.
Touch input by coordinates.
No parameter schema in public metadata yet.
SwipeTouch input by coordinates.
Touch input by coordinates.
No parameter schema in public metadata yet.
DragTouch input by coordinates.
Touch input by coordinates.
No parameter schema in public metadata yet.
ClickBySelectorTap an element found by text, resourceId, className or description (exact match), with index for the nth match.
Tap an element found by text, resourceId, className or description (exact match), with index for the nth match.
No parameter schema in public metadata yet.
TypeType into a field; x and y tap it first; clear empties it first.
Type into a field; x and y tap it first; clear empties it first.
No parameter schema in public metadata yet.
PressA button: back, home, recent, volume up, enter, and so on.
A button: back, home, recent, volume up, enter, and so on.
No parameter schema in public metadata yet.
NotificationPull down the notification shade.
Pull down the notification shade.
No parameter schema in public metadata yet.
WaitPause.
Pause.
No parameter schema in public metadata yet.
WaitForElementWait for an element to appear.
Wait for an element to appear.
No parameter schema in public metadata yet.
Sponsors
Readme
android-mcp-beta
Clean-room reimplementation of Android-MCP: an MCP server that lets an AI agent operate an Android device over ADB.
It needs only adb. Nothing is installed on the device, and there is no dependency on
uiautomator2.
Run
Requires Python 3.13 and adb (Android platform-tools).
uv run android-mcp-beta
The server speaks MCP on stdio. In a client's config:
{
"mcpServers": {
"android-mcp-beta": {
"command": "uv",
"args": ["--directory", "D:/Projects/android-mcp-beta", "run", "android-mcp-beta"]
}
}
}
The device is connected on the first tool call, so the server starts whether or not one is attached yet.
Choosing the device
With no options it uses the first physical device, or an emulator when there is none.
Details
- Repository
- github.com/cursortouch/android-mcp
- Category
- Mobile Development