Android

MCP server for Android devices and emulators
  • kotlin

7

GitHub Stars

kotlin

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ulcica-android-mcp": {
      "command": "java",
      "args": [
        "-jar",
        "/path/to/android-mcp/build/libs/android-mcp.jar"
      ]
    }
  }
}

You can run an MCP server for Android device inspection and interaction, enabling you to list devices, inspect the UI hierarchy, simulate touches and input, and launch intents. This server is built to work efficiently with coroutines, caching, and a modular ADB layer so you can automate UI testing, QA, and analysis on real devices or emulators.

How to use

Install and run the Android MCP Server to start interacting with connected Android devices. Use your MCP client to call endpoints such as listing devices, exploring the UI tree, searching for elements, performing taps or swipes, and sending text or key events.

How to install

Prerequisites you need before installation are Java 17 or newer and the Android SDK Platform‑Tools (ADB). Ensure a connected device or emulator with developer options and USB debugging enabled.

Option 1: Download from GitHub Releases (Recommended) and use the provided JAR.

Option 2: Build from source using the Kotlin project with Gradle.

{
  "mcpServers": {
    "android-mcp": {
      "command": "java",
      "args": ["-jar", "/path/to/android-mcp/build/libs/android-mcp.jar"]
    }
  }
}

Configure Claude Desktop

Add this configuration to Claude Desktop to connect with the Android MCP Server.

{
  "mcpServers": {
    "android-mcp": {
      "command": "java",
      "args": ["-jar", "/path/to/android-mcp/build/libs/android-mcp.jar"]
    }
  }
}

Usage notes

You can start and interact with the server through the CLI during development or via MCP clients. Typical development commands include building, running, testing, and querying the version of the server.

Additional configuration and troubleshooting

The server uses a modular ADB manager and a Kotlin-based stack with coroutines for non-blocking operations. If you need to debug, enable logging in the ADB execution path to see the exact commands being sent to ADB.

If you encounter issues starting the server or detecting ADB, verify Java 17+ is installed, ensure Android SDK platform-tools are accessible in your PATH, and confirm the target device is online and authorized for debugging.

Available tools

get_device_list

Lists all connected Android devices and their basic states.

get_app_list

Retrieves installed applications on the device, with an option to include system apps.

get_current_activity

Provides enhanced information about the current foreground activity.

get_view_attributes

Fetches the UI hierarchy with detailed view attributes by enabling a debug mode.

find_elements

Searches UI elements by resource ID, text content, or class name with optional exact matching.

view_hierarchy

Returns the UI view hierarchy including rotation information from uiautomator dump.

click_coordinate

Performs a tap at specified screen coordinates.

swipe_coordinate

Performs a swipe from a start coordinate to an end coordinate with an optional duration.

input_text

Inputs text into the currently focused field on the device.

key_event

Sends a key event to the device, such as Enter or Back.

start_intent

Launches an Android intent with configurable action, category, data, and extras.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational