Android MCP

by tomdwipo

205 downloads Not rated yet
GitHub

About

A lightweight MCP server for Android operating system automation. This server provides tools to interact directly with Android devices, enabling automated testing, app interaction, and device control.

Explore

- Device Control: Click, long click, swipe, drag, and type on Android devices
- State Management: Get device state with optional visual screenshots
- Navigation: Press hardware buttons and access notifications
- Automation: Wait functionality for timing control
- Emulator Support: Works with both physical devices and Android emulators

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Android MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Prerequisites

- Python 3.13 or higher
- uv package manager
- Android device or emulator with USB debugging enabled
- ADB (Android Debug Bridge) installed and accessible

1. Install uv (if not already installed)

```bash

| Tool | Description | Parameters |
|------|-------------|------------|
| Click-Tool | Click on specific coordinates | x: int, y: int |
| State-Tool | Get device state with optional screenshot | use_vision: bool = false |
| Long-Click-Tool | Long press on coordinates | x: int, y: int, duration: int |
| Swipe-Tool | Swipe between coordinates | x1: int, y1: int, x2: int, y2: int |
| Type-Tool | Type text at coordinates | text: str, x: int, y: int, clear: bool = false |
| Drag-Tool | Drag and drop between coordinates | x1: int, y1: int, x2: int, y2: int |
| Press-Tool | Press hardware buttons | button: str |
| Notification-Tool | Access notification panel | None |
| Wait-Tool | Wait for specified duration | duration: int |

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "android mcp": {
            "android-mcp": {
                "type": "stdio",
                "command": "bash",
                "args": [
                    "-c",
                    "cd /path/to/agent/mcp/android && source .venv/bin/activate && uv run main.py --emulator"
                ],
                "alwaysAllow": [
                    "State-Tool",
                    "Click-Tool",
                    "Type-Tool",
                    "Swipe-Tool"
                ]
            }
        }
    }
}

McpServers

{
    "android-mcp": {
        "type": "stdio",
        "command": "bash",
        "args": [
            "-c",
            "cd /path/to/agent/mcp/android && source .venv/bin/activate && uv run main.py --emulator"
        ],
        "alwaysAllow": [
            "State-Tool",
            "Click-Tool",
            "Type-Tool",
            "Swipe-Tool"
        ]
    }
}

A lightweight MCP server for Android operating system automation. This server provides tools to interact directly with Android devices, enabling automated testing, app interaction, and device control.

Features

- Device Control: Click, long click, swipe, drag, and type on Android devices
- State Management: Get device state with optional visual screenshots
- Navigation: Press hardware buttons and access notifications
- Automation: Wait functionality for timing control
- Emulator Support: Works with both physical devices and Android emulators

Prerequisites

- Python 3.13 or higher
- uv package manager
- Android device or emulator with USB debugging enabled
- ADB (Android Debug Bridge) installed and accessible

Installation

1. Install uv (if not already installed)

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.