Enables remote control and automation of Android devices using ADB and uiautomator2, allowing for UI interaction (clicking, swiping, typing), app management, screenshot capture, and execution of shell commands.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Android MCP ServerOpen Settings and tell me the battery percentage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Android MCP Server
This is a Model Context Protocol (MCP) server that enables control of Android devices using uiautomator2.
Prerequisites
Python 3.10+
ADB installed and added to PATH
An Android device connected via USB or WiFi (with ADB debugging enabled)
Installation
Create a virtual environment:
python -m venv venv .\venv\Scripts\activateInstall dependencies:
pip install -r requirements.txt
Usage
To run the server:
Tools Available
connect_device(serial): Connect to a device.device_info(): Get device status.dump_hierarchy(): View UI XML.click_element(text, resource_id, description): Click UI elements.wait_for_element(text, resource_id, description, timeout): Wait for element to appear.click_point(x, y): Click at coordinates.swipe(sx, sy, ex, ey): Swipe gesture.input_text(text, clear): Type text.press_key(key): Press physical keys (home, back, etc.).open_app(package_name): Launch an app.stop_app(package_name): Stop an app.install_app(url_or_path): Install APK.uninstall_app(package_name): Uninstall app.shell_command(command): Run ADB shell command.take_screenshot(): Capture screen.
Configuration
Ensure your device is visible via adb devices before connecting.
Gemini MCP Configuration
To use this server with Gemini CLI or compatible MCP clients, add the following to your MCP configuration file (e.g., ~/.gemini/settings.json):
Replace the paths with the actual absolute paths to your project if they differ.