home / mcp / android mcp server
MCP Server for interacting with Android Devices.
Configuration
View docs{
"mcpServers": {
"cursortouch-android-mcp": {
"command": "uvx",
"args": [
"android-mcp"
],
"env": {
"SCREENSHOT_QUANTIZED": "true"
}
}
}
}Android MCP is a lightweight, open-source bridge that connects large language model agents to Android devices by running as an MCP server. It enables real-world tasks such as app navigation, UI interaction, and automated QA testing without relying on traditional computer-vision pipelines or preprogrammed scripts.
You can use the Android MCP server with an MCP client to control an Android device through natural language. Start the server via a supported runtime, then configure your MCP client to connect to it. From your client, issue intents like launching apps, tapping UI elements, swiping, typing text, and reading view hierarchies. The server exposes a rich set of tools that let you perform mobile automation tasks in real time, with typical action latency of 2–4 seconds depending on your device.
Prerequisites you need before installation.
Configure the MCP client to use UVX for running the Android MCP server. This method requires no manual dependency installation.
{
"mcpServers": {
"android-mcp": {
"command": "uvx",
"args": [
"android-mcp"
]
}
}
}If you prefer local development with UV, follow these steps to clone the project, install dependencies, and run the server.
git clone https://github.com/CursorTouch/Android-MCP.git
cd Android-MCP
uv sync
```
```json
{
"mcpServers": {
"android-mcp": {
"command": "uv",
"args": [
"--directory",
"</PATH/TO/Android-MCP>",
"run",
"android-mcp"
]
}
}
}To target a specific Android device, add the device flag to the arguments as shown. Replace the placeholder with your device serial.
{
"mcpServers": {
"android-mcp": {
"command": "uvx",
"args": [
"android-mcp",
"--device",
"<YOUR_DEVICE_SERIAL>"
]
}
}
}After configuring the MCP client, restart the client application. You should see the Android MCP server listed as an available integration, and you can start issuing natural language commands to control your device.
If you encounter issues with ADB recognition or device authorization, verify the device is listed by running adb devices and ensure USB debugging is enabled on the device.
Capture and understand the current device state, including active apps and UI elements.
Perform taps on the screen at specific coordinates.
Perform long presses on screen coordinates.
Type text at specified coordinates, with an option to clear existing text.
Swipe from one coordinate to another to perform gestures.
Drag from one point to another on the screen.
Simulate hardware button presses (Back, Volume, etc.).
Pause execution for a defined duration.
Access and read notifications from the device.
Execute shell commands on the Android device.