Android Mobile MCP
Enables AI agents to interact with Android devices through UI manipulation, app management, screen capture, touch interactions, text input, and navigation controls via ADB.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Android Mobile MCP take a screenshot of my phone's home screen"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Connect Android device via USB or network
Enable USB debugging on your Android device
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_uicall for coordinate verificationPrevents 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 toolsmobile_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
Scored across 9 tools
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.
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.
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.
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
Related MCP Connectors
Give your AI agent a real cloud Android phone: push APKs, drive it, get screenshots and logs.
Let AI agents control Android and iOS devices on Mobilerun Cloud: screen, input, apps, workflows.
Cloud Android phones for AI agents: create a phone, read the screen, tap, type, install APKs, park.
AI agents on real phones: run tasks, read the screen, tap, type and install apps.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables control of Android devices via ADB for automation and testing. Supports app management, screen capture, UI analysis, and input simulation through natural language commands.9167 npm38MIT
- FlicenseBqualityDmaintenanceEnables 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.124-
- AlicenseBqualityDmaintenanceEnables 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.42200 npm22MIT
- AlicenseNot gradedqualityDmaintenanceEnables coding agents to observe and operate Android devices through ADB and uiautomator2, supporting screenshot capture, UI hierarchy access, and actions like tap, swipe, and text input.2Apache 2.0