Skip to main content
Glama

Android Mobile MCP

Overview

Android Mobile MCP bridges the Model Context Protocol with Android device automation, enabling AI agents to interact with Android devices through UI manipulation, app management, and screen capture.

Related MCP server: Android Puppeteer

MCP Configuration

{
  "mcpServers": {
    "android-mobile-mcp": {
      "command": "uvx",
      "args": ["android-mobile-mcp"]
    }
  }
}

Prerequisites

  1. Connect Android device via USB or network

  2. Enable USB debugging on your Android device

  3. Install ADB (Android Debug Bridge)

Tools Reference

Screen Analysis

mobile_dump_ui - Extract UI elements as hierarchical JSON

  • Parses screen XML to identify focusable elements and text content

  • Calculates center coordinates for each interactive element

  • Returns structured parent-child element relationships

mobile_take_screenshot - Capture current screen state

  • Returns PNG image data for visual analysis

Touch Interactions

mobile_click - Click at specific coordinates

  • Validates coordinates against current UI state

  • Requires prior mobile_dump_ui call for coordinate verification

  • Prevents clicking on invalid or non-interactive areas

mobile_swipe - Perform swipe gestures

  • Executes directional swipes between two coordinate points

  • Configurable duration for gesture speed control

Text Input

mobile_type - Input text into focused fields

  • Sends text to currently active input field

  • Optional automatic submission with Enter key

Navigation

mobile_key_press - Press system buttons

  • Supports hardware and virtual keys: BACK, HOME, RECENT, ENTER

App Management

mobile_list_apps - List installed applications

  • Filters out system apps and non-launchable packages

  • Returns only user-accessible applications

mobile_launch_app - Start applications by package name

  • Validates package existence before launch attempt

Available Tools

9 tools
mobile_clickC

Click on a specific coordinate on the Android screen.

Args: x: X coordinate to click y: Y coordinate to click

Inputs: x (required), y (required). Returns: result

mobile_dump_uiA

Get UI elements from Android screen as JSON with hierarchical structure.

Returns a JSON structure where elements contain their child elements, showing parent-child relationships. Only includes focusable elements or elements with text/content_desc/hint attributes.

Inputs: no named parameters. Returns: result

mobile_initA

Initialize the Android device connection.

Must be called before using any other mobile tools.

Inputs: no named parameters. Returns: result

mobile_key_pressC

Press a physical or virtual button on the Android device.

Args: button: Button name (BACK, HOME, RECENT, ENTER)

Inputs: button (required). Returns: result

mobile_launch_appB

Launch an application by its package name.

Args: package_name: The package name of the app to launch (e.g., 'com.android.chrome')

Inputs: package_name (required). Returns: result

mobile_list_appsA

List all installed applications on the Android device.

Returns a JSON array with package names and application labels.

Inputs: no named parameters. Returns: result

mobile_swipeC

Perform a swipe gesture on the Android screen.

Args: start_x: Starting X coordinate start_y: Starting Y coordinate end_x: Ending X coordinate end_y: Ending Y coordinate duration: Duration of swipe in seconds (default: 0.5)

Inputs: start_x (required), start_y (required), end_x (required), end_y (required), +1 more. Returns: result

mobile_take_screenshotA

Take a screenshot of the current Android screen.

Returns an image object that can be viewed by the LLM.

Inputs: no named parameters.

mobile_typeA

Input text into the currently focused text field on Android.

Args: text: The text to input submit: Whether to submit text (press Enter key) after typing

Inputs: text (required), submit. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap. Clicking, UI dumping, initialization, key pressing, app launching, app listing, swiping, screenshotting, and typing are all unique operations in Android automation. The descriptions reinforce this distinction, making tool selection unambiguous.

    Naming Consistency5/5

    All tools follow a consistent 'mobile_' prefix with descriptive verb_noun combinations (e.g., mobile_click, mobile_dump_ui, mobile_launch_app). The naming pattern is uniform throughout, using snake_case and clear action-oriented verbs that align with their functions.

    Tool Count5/5

    With 9 tools, this server is well-scoped for Android mobile automation. It covers essential operations like interaction (click, swipe, type), navigation (launch apps, key press), and inspection (UI dump, screenshot, list apps), plus initialization. Each tool earns its place without redundancy or bloat.

    Completeness4/5

    The toolset provides strong coverage for core Android automation tasks, including UI interaction, app management, and screen inspection. A minor gap exists in more advanced operations like handling permissions, accessing device settings, or interacting with specific UI elements by ID, but agents can work around this with the available tools.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      Enables AI agents to interact with Android devices through visual UI element detection and automated interactions. Provides comprehensive Android automation capabilities including touch gestures, text input, screenshots, and video recording via uiautomator2.
      12
      4
      -
    • A
      license
      B
      quality
      D
      maintenance
      Enables AI assistants to interact with Android devices and emulators via ADB, providing tools for screenshots, UI inspection, touch and text input, app management, and device control.
      42
      200 npm
      22
      MIT