home / mcp / android mcp server

Android MCP Server

MCP Server for interacting with Android Devices.

Installation
Add the following to your MCP client configuration file.

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.

How to use

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.

How to install

Prerequisites you need before installation.

  • Python 3.10+
  • ADB (Android Debug Bridge)
  • Android 10+ (Emulator/Android Device)

Configuring and running via UVX (recommended)

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"
      ]
    }
  }
}

Configuring and running via UV (local development)

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"
      ]
    }
  }
}

Connect to a specific device

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>"
      ]
    }
  }
}

Restart and usage

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.

Troubleshooting tips

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.

Available tools

State-Tool

Capture and understand the current device state, including active apps and UI elements.

Click-Tool

Perform taps on the screen at specific coordinates.

Long-Click-Tool

Perform long presses on screen coordinates.

Type-Tool

Type text at specified coordinates, with an option to clear existing text.

Swipe-Tool

Swipe from one coordinate to another to perform gestures.

Drag-Tool

Drag from one point to another on the screen.

Press-Tool

Simulate hardware button presses (Back, Volume, etc.).

Wait-Tool

Pause execution for a defined duration.

Notification-Tool

Access and read notifications from the device.

Shell-Tool

Execute shell commands on the Android device.