Provides programmatic control over Android devices through ADB, enabling screenshot capture, UI layout analysis, package management, and execution of arbitrary ADB commands.
Repository hosting for the android-mcp-server, allowing users to clone and use the server implementation.
Android MCP Server
An MCP (Model Context Protocol) server that provides programmatic control over Android devices through ADB (Android Debug Bridge). This server exposes various Android device management capabilities that can be accessed by MCP clients like Claude desktop and Code editors (e.g. Cursor)
Features
- 🔧 ADB Command Execution
- 📸 Device Screenshot Capture
- 🎯 UI Layout Analysis
- 📱 Device Package Management
Prerequisites
- Python 3.x
- ADB (Android Debug Bridge) installed and configured
- Android device or emulator (not tested)
Installation
- Clone the repository:
- Install dependencies: This project uses uv for project management via various methods of installation.
Configuration
The server supports flexible device configuration with multiple usage scenarios.
Device Selection Modes
1. Automatic Selection (Recommended for single device)
- No configuration file needed
- Automatically connects to the only connected device
- Perfect for development with a single test device
2. Manual Device Selection
- Use when you have multiple devices connected
- Specify exact device in configuration file
Configuration File (Optional)
The configuration file (config.yaml
) is optional. If not present, the server will automatically select the device if only one is connected.
For Automatic Selection
Simply ensure only one device is connected and run the server - no configuration needed!
For Manual Selection
- Create a configuration file:
- Edit
config.yaml
and specify your device:
For auto-selection, you can use any of these methods:
Finding Your Device Serial
To find your device identifier, run:
Example output:
Use the first column value (e.g., 13b22d7f
or emulator-5554
) as the device name.
Usage Scenarios
Scenario | Configuration Required | Behavior |
---|---|---|
Single device connected | None | ✅ Auto-connects to the device |
Multiple devices, want specific one | config.yaml with device.name | ✅ Connects to specified device |
Multiple devices, no config | None | ❌ Shows error with available devices |
No devices connected | N/A | ❌ Shows "no devices" error |
Note: If you have multiple devices connected and don't specify which one to use, the server will show an error message listing all available devices.
Usage
An MCP client is needed to use this server. The Claude Desktop app is an example of an MCP client. To use this server with Claude Desktop:
- Locate your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
- Add the Android MCP server configuration to the
mcpServers
section:
Replace:
path/to/uv
with the actual path to youruv
executablepath/to/android-mcp-server
with the absolute path to where you cloned this repository
https://github.com/user-attachments/assets/c45bbc17-f698-43e7-85b4-f1b39b8326a8
Available Tools
The server exposes the following tools:
Contributing
Contributions are welcome!
Acknowledgments
- Built with Model Context Protocol (MCP)
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
A server enabling programmatic control over Android devices through ADB, providing capabilities like screenshot capture, UI layout analysis, and package management that can be accessed by MCP clients like Claude Desktop.
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants to interact with Android devices through ADB, allowing for automated device management, app installation, file transfers, and screenshot capture.Last updated -3926ISC License
- -securityFlicense-qualityA FastMCP framework-based server providing Android device automation control capabilities, enabling UI interactions, device management, and application control through natural language.Last updated -8
- AsecurityAlicenseAqualityAn MCP server that integrates with Apktool to provide live reverse engineering support for Android applications using Claude and other LLMs through the Model Context Protocol.Last updated -13205Apache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol server that provides Android Debug Bridge functionality for automating Android devices, enabling remote device management, screen operations, app management, file operations, and shell command execution.Last updated -2021MIT License