mcp_android_init_uiautomator2LABSCO SUMMARY
An agent that can use the phone in front of you.
Waiting for elements and scrolling are what make it usable rather than a demo: the assistant can follow a flow through an app the way a tester would, instead of firing blind taps at fixed coordinates.
What it is
An Android automation server built on UIAutomator2 and FastMCP. It exposes the device itself: the UI actions you would perform by hand, the app lifecycle around them, and the ADB layer underneath when you need to drop down to it.
What you get
- UI actions — tapping an element, entering text, swiping the screen, waiting for an element to appear, and scrolling a page
- Apps — starting and stopping an application, reading which app is currently in front, and managing the UIAutomator2 service on the device
- Device management — running ADB commands, package management, and taking a screenshot
Requirements
Python 3.10+, the ADB tools on your PATH, and an Android device or emulator connected. Clone the repository and pip install -e ., then point your client at uv --directory /path/to/uiautomator2-mcp run src/server.py, substituting your own project path. Because the server drives a real device, whatever is on screen is what it acts on — connect the device you mean before starting a session.
Setup effort
One command — uvx uiautomator2-mcp
USE CASES
Walking through an app flow by description
Tap, type and scroll by element rather than coordinate, waiting for each screen before acting on it.
Reproducing a bug on a real device
Drive the steps and take screenshots along the way, so what you report is what the device actually showed.
Getting an app into a known state
Stop it, start it again, and confirm which app is in front before the next step runs.
Reaching what the UI layer cannot
Run an ADB command directly for the device operations that have no on-screen equivalent.
3 tools
Listed in project docs. Your client may show a different list.
mcp_android_start_appmcp_android_click_elementBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
- uvx on PATH
- Python 3.10+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx uiautomator2-mcpMCP Clients
Cursor
{
"mcpServers": {
"android": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_UIAUTOMATOR2_MCP>",
"run",
"src/server.py"
]
}
}
}