MCP Hub
Back to servers

Android MCP Server

Enables control and automation of Android devices using uiautomator2 and ADB. It supports UI interactions, app management, and shell command execution through the Model Context Protocol.

Updated
Jan 27, 2026

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

  1. Create a virtual environment:
    python -m venv venv
    .\venv\Scripts\activate
    
  2. Install dependencies:
    pip install -r requirements.txt
    

Usage

To run the server:

python main.py

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):

"android": {
  "command": "d:\\src\\android-mcp\\venv\\Scripts\\python.exe",
  "args": [
    "d:\\src\\android-mcp\\main.py"
  ]
}

Replace the paths with the actual absolute paths to your project if they differ.

Reviews

No reviews yet

Sign in to write a review