Get the FREE Ultimate OpenClaw Setup Guide →

Android

MCP Server for interacting with Android Devices.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio cursortouch-android-mcp uvx android-mcp \
  --env SCREENSHOT_QUANTIZED="true to quantize screenshots and reduce input token size"

How to use

Android-MCP provides a lightweight bridge that lets LLM agents interact with real Android devices through native controls. It exposes a set of tools to inspect the device state, simulate user input, and query UI elements, enabling tasks like app navigation, tapping, swiping, typing, and extracting UI hierarchies without relying on traditional computer-vision pipelines. By integrating with Claude Desktop (via UVX or UV), you can issue natural-language prompts that get translated into precise Android actions using built-in tools such as State-Tool, Click-Tool, Long-Click-Tool, Type-Tool, Swipe-Tool, Drag-Tool, Press-Tool, Wait-Tool, Notification-Tool, and Shell-Tool. Real-time latency typically remains within a few seconds, depending on device performance and connectivity.

To use it, configure the MCP server in Claude Desktop as shown in the config example and run the UVX (recommended) or UV option. Once configured, you can prompt the agent to navigate apps, tap specific coordinates, read screen content, or extract view hierarchies. The tools are designed to work together to enable complex automation and QA flows on physical devices or emulators. Remember to ensure your device is connected via ADB and recognized by the system before starting the server.

How to install

Prerequisites

  • Python 3.12+ (or ensure your environment supports UV/UVX tooling)
  • Android Debug Bridge (ADB) installed and available on PATH
  • An Android 10+ device or emulator with USB debugging enabled

Installation steps

  1. Prepare the Android device/emulator
  • Connect the device via USB or start your emulator
  • Verify connectivity: adb devices
  • You should see a device listed. If prompted, authorize the connection on the device.
  1. Install UVX/UV tooling (recommended)
  • Follow the project’s installation guide for UVX (or UV) to install the runtime that can run MCP servers locally. This typically involves installing the uvx/uv package and ensuring it’s on your PATH.
  1. Run the MCP server locally (UVX path)
  • Start the MCP server using theExample configuration:
    • Create or edit Claude Desktop config as shown in the example (mcpServers.android-mcp.command = "uvx" with args ["android-mcp"]).
  • Ensure the environment variable is set if you want screenshot quantization:
    • SCREENSHOT_QUANTIZED=true
  1. Connect to Claude Desktop
  • Open Claude Desktop and verify that the android-mcp integration appears as an available MCP server.
  • If using UV mode, clone the repository and run the local server: git clone https://github.com/CursorTouch/Android-MCP.git cd Android-MCP uv sync

    Then configure Claude Desktop similarly with the UV command structure

  1. Validate the setup
  • With the device connected, run a simple prompt to perform a basic action (e.g., capture a screenshot or read current UI state) to ensure the toolchain works end-to-end.

Additional notes

  • The Android-MCP can perform arbitrary UI actions on the connected device; exercise caution and use in controlled environments.
  • If you switch devices, you may need to adjust the device serial in the CLI arguments (e.g., add "--device", "<YOUR_DEVICE_SERIAL>").
  • The SCREENSHOT_QUANTIZED variable helps reduce input token size by quantizing screenshots; enable it if token limits are a concern.
  • If you encounter ADB authorization issues, recheck USB debugging permissions on the device and revoke/re-authorize connections as needed.
  • For troubleshooting, consult the MCP docs referenced in the README or the MCP integration issues page for Android-MCP.

Related MCP Servers

Sponsor this space

Reach thousands of developers