android-mcp-server
Provides tools for managing Android devices via ADB and scrcpy, including device management, app installation/uninstallation, file transfer, shell commands, input control, screen mirroring, UI element finding, and system information retrieval.
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-mcp-server list connected Android devices"
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 MCP Server
MCP server providing ADB and scrcpy capabilities for Android device control. Built with FastMCP.
Assisted by Minimax Model via Claude Code.
Features
Device Management: List devices, get device info
App Management: Install/uninstall apps, start/stop apps, list packages
File Operations: Push/pull files between device and host
Shell Execution: Run shell commands on device, exec-out for binary output
Input Control: Tap, swipe, input text, press keys
System Info: Screen size, battery status, system properties
Screen Control: Screen mirroring and control via scrcpy, screenshot via exec-out
UI Element Finding: Dump UI hierarchy, find elements by attributes
Related MCP server: MSC MCP Server
Install
uv add android-mcp-serverOr install from source:
# Clone the repo, then install
git clone https://github.com/chldu2000/android-mcp-server.git
cd android-mcp-server
uv pip install -e .
uv run python -m android_mcp.mainAdd MCP Server
Claude Code
claude mcp add android uv run -- python -m android_mcp.main --cwd /Path/to/workdirOther MCP Clients
The server can be run with:
uv run python -m android_mcp.mainTools
Device Management
Tool | Description |
| List all connected Android devices |
| Get detailed device information |
App Management
Tool | Description |
| Install an APK |
| Uninstall an application |
| List installed packages |
| Start an application |
| Force stop an application |
File Operations
Tool | Description |
| Pull file from device |
| Push file to device |
Shell
Tool | Description |
| Execute shell command |
| Execute command via exec-out (for binary output) |
Input Control
Tool | Description |
| Tap at coordinates |
| Swipe gesture |
| Input text |
| Press key event |
System Info
Tool | Description |
| Get screen resolution |
| Get battery status |
| Get system properties |
Screen Control (scrcpy)
Tool | Description |
| Start screen mirroring |
| Stop screen mirroring |
| Take screenshot |
| Send control command |
| Capture screenshot via exec-out |
UI Elements
Tool | Description |
| Dump UI hierarchy tree |
| Find UI elements by attributes |
Device Connection
USB Devices
Connect via USB and ensure USB debugging is enabled on the device.
Network Devices
For TCP/IP connection:
Enable TCP/IP mode on device:
adb tcpip 5555Find device IP:
adb shell ip routeConnect:
adb connect <device-ip>:5555
Dependencies
fastmcp - MCP server framework
scrcpy - Screen mirroring (must be installed separately)
uiautomator2 - uiautomator2 Python wrapper
Available Tools
25 toolsadb_device_infoC
Get detailed information about a specific device.
Inputs: serial (required).
adb_dump_ui_treeC
Dump the UI hierarchy tree from the device.
Inputs: serial (required).
adb_exec_outC
Execute a command via adb exec-out (for binary output).
Inputs: serial (required), command (required).
adb_find_elementC
Find UI elements by their attributes using uiautomator.
Inputs: serial (required), text, enabled, clickable, +4 more.
adb_get_batteryC
Get battery status of the device.
Inputs: serial (required).
adb_get_propertiesC
Get system properties from the device.
Inputs: serial (required), keys.
adb_get_screen_sizeC
Get the screen resolution of the device.
Inputs: serial (required).
adb_input_textC
Input text on the device.
Inputs: text (required), serial (required).
adb_install_appC
Install an APK on the device.
Inputs: serial (required), apk_path (required).
adb_list_devicesA
List all connected Android devices.
Inputs: no named parameters.
adb_list_packagesC
List all installed packages on the device.
Inputs: serial (required).
adb_press_keyC
Press a key event.
Inputs: serial (required), keycode (required).
adb_pull_fileB
Pull a file from the device to local filesystem.
Inputs: serial (required), local_path (required), device_path (required).
adb_push_fileC
Push a file from local filesystem to the device.
Inputs: serial (required), local_path (required), device_path (required).
adb_screencapC
Capture screenshot using exec-out and save to local file.
Inputs: serial (required), output_path (required).
adb_shellC
Execute a shell command on the device.
Inputs: serial (required), command (required).
adb_start_appC
Start an application on the device.
Inputs: serial (required), package_name (required), activity.
adb_stop_appC
Force stop an application on the device.
Inputs: serial (required), package_name (required).
adb_swipeC
Simulate a swipe gesture.
Inputs: x1 (required), x2 (required), y1 (required), y2 (required), +2 more.
adb_tapC
Simulate a tap at the specified coordinates.
Inputs: x (required), y (required), serial (required).
adb_uninstall_appC
Uninstall an application from the device.
Inputs: serial (required), package_name (required).
scrcpy_controlD
Send control command to scrcpy.
Inputs: action (required), params (required), serial (required).
scrcpy_screenshotC
Take a screenshot from the device.
Inputs: serial (required), output_path.
scrcpy_startC
Start screen mirroring via scrcpy.
Inputs: serial (required), bit_rate.
scrcpy_stopA
Stop screen mirroring.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 25 tools
Each tool targets a distinct function, with clear separation between ADB operations and scrcpy mirroring. No two tools have overlapping purposes; even similar actions like screenshots are differentiated by the underlying technology (ADB vs scrcpy).
All tools follow a consistent snake_case pattern with a prefix ('adb_' or 'scrcpy_') followed by a verb_noun pair. This uniformity makes it easy for an agent to infer tool roles.
With 25 tools, the server is comprehensive but borders on the high side. However, each tool serves a specific need for Android device management, and the set is well-scoped for its purpose.
The tool surface covers core ADB operations, UI interaction, app lifecycle, file transfer, and screen mirroring. Minor gaps like logcat access or screen recording exist but do not significantly hinder typical automation workflows.
Maintenance
Related MCP Connectors
Let AI agents control Android and iOS devices on Mobilerun Cloud: screen, input, apps, workflows.
Give your AI agent a real cloud Android phone: push APKs, drive it, get screenshots and logs.
remote debug iOS/Android/Unity/Godot/Flutter/RN/Web on real-device.ui-tree/screenshots/taps,tests.
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
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
- FlicenseNot gradedqualityDmaintenanceEnables control of Android devices through ADB, allowing users to list connected devices, capture screenshots using multiple methods (adb, droidcast, minicap, mumu), and retrieve device information.-
- FlicenseBqualityDmaintenanceProvides comprehensive Android device management capabilities through ADB, including device management, app management, file operations, and system monitoring.181-
- AlicenseNot gradedqualityDmaintenanceEnables remote control of Android devices via ADB, including screen operations, input, app management, file transfer, and advanced tools like UI testing and performance analysis.25MIT