android-device
MCP server for comprehensive Android device management via ADB
claude mcp add --transport stdio prashant1507-android-device-mcp uv run --with mcp[cli] mcp run ./android-device-mcp-server.py
How to use
The Android Device MCP server exposes comprehensive Android device management capabilities via ADB. It enables programmatic interaction with connected devices for actions such as listing devices, capturing screenshots, installing and launching apps, managing files on the device, and retrieving system information. You can leverage MCP clients to invoke these operations remotely, integrate them into automation pipelines, or build custom tools around the provided features.
To use the server, start it with your MCP client (for example, LM Studio, CursorAI, or Claude) configured to connect to the android-device-mcp server. Once running, you can perform device management tasks like listing connected devices, pulling and pushing files, executing shell commands, capturing logs, and performing app management tasks such as installing or uninstalling apps. Real-time logging and shell command execution enable interactive control of devices, while screen capture and screen recording provide visual monitoring capabilities.
How to install
Prerequisites:
- Python 3.13 or higher
- ADB (Android Debug Bridge) installed and accessible in PATH
- USB debugging enabled on the target Android device and device authorized for ADB access
- UV (uv) installed for Python-based MCP (as recommended here)
Installation steps:
- Clone the repository:
git clone https://github.com/prashant1507/android-device-mcp.git
cd android-device-mcp
- Install dependencies using uv (recommended) or pip:
# Using uv
uv sync
- Start the MCP server with uv as described in the configuration example. Ensure the working directory path in the mcp_config matches your local setup. Example (adjust the path accordingly):
uv run --with mcp[cli] mcp run ./android-device-mcp-server.py
- Configure your MCP client to connect to the server. Example configuration snippet (adjust paths and command as needed):
{
"mcpServers": {
"android-device-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"./android-device-mcp-server.py"
],
"cwd": "/path/to/android-device-mcp"
}
}
}
Additional notes
Notes and tips:
- Ensure the host has ADB installed and that devices are connected with USB debugging enabled.
- If a device is not detected, verify ADB authorization and that the USB connection is stable. You may need to restart the ADB server with adb kill-server && adb start-server.
- The MCP server relies on ADB for all device interactions; network issues can impact operations that require device access or large file transfers.
- For file operations, ensure target directories on the device are writable and that the local path exists for pull/push actions.
- If you encounter permission errors on the device, unlock the device and verify that the app used by MCP has the necessary permissions.
Related MCP Servers
droidmind
Control your Android devices with AI using Model Context Protocol
lc2mcp
Convert LangChain tools to FastMCP tools
MCPHammer
MCP security testing framework for evaluating Model Context Protocol server vulnerabilities
skill-to
Convert AI Skills (Claude Skills format) to MCP server resources - Part of BioContextAI
fastmcp-builder
A comprehensive Claude Code skill for building production-ready MCP servers using FastMCP. Includes reference guides, runnable examples, and a complete implementation with OAuth, testing, and best practices.
openroad
Model Context Protocol (MCP) server for OpenROAD