adb-automation-mcp¶
adb-automation-mcp is a Model Context Protocol
(MCP) server that lets AI assistants such as Claude work with Android devices and
emulators over the Android Debug Bridge (adb).
Rather than handing the assistant a raw shell, the server exposes 111 tools. Each one is a specific, named operation with typed parameters, such as installing an APK, taking a screenshot, reading logcat, or tapping a point on screen. Each tool documents what it does, what it returns, and how it fails, so an assistant can pick the right one and act on the result reliably.
Highlights¶
- Broad coverage. Apps, activities, services, permissions, input, UI inspection, screenshots and recordings, logs, files, settings, users, networking, memory, tracing, profiling, and more. See the Tool Reference.
- Safe by default. Tools that can permanently remove data or interrupt a device, such as uninstalling an app or rebooting, are hidden unless you opt in. There is deliberately no "run any shell command" tool.
- Controlled file access. Tools that save files to your computer (screenshots, logs, traces, bug reports) can write only inside one folder that you choose.
- Predictable responses. Every tool returns the same response shape, with a short human-readable message and structured data.
Requirements¶
- Python 3.10 or later
- uv (recommended) or
pip - Android SDK Platform-Tools, which provides
adb - An Android device with USB debugging enabled, or a running emulator
Quick start¶
Run the server straight from PyPI with uvx. No clone or separate install step is
needed:
uvx adb-automation-mcp
Or install it with pip:
pip install adb-automation-mcp
The server communicates over standard input/output, so you normally don't run it by hand. Your MCP client starts it for you.
Connect it to your MCP client¶
Add the server to your client's MCP configuration (for example, Claude Desktop's
config file or a Claude Code project's .mcp.json):
{
"mcpServers": {
"adb-automation-mcp": {
"command": "uvx",
"args": ["adb-automation-mcp"],
"env": {
"ADB_AUTOMATION_ADB_PATH": "/path/to/platform-tools/adb",
"ADB_AUTOMATION_LOCAL_ROOT": "/path/to/adb-output"
}
}
}
}
This example shows the recommended minimum. For every available setting, including the command timeout, destructive tools, and a simulated test device, see Configuration.
Set the full path to adb
MCP clients usually start servers with a minimal environment that doesn't include
your shell's PATH. Even if adb works in your terminal, set
ADB_AUTOMATION_ADB_PATH to its absolute path. You can find it with
which adb on macOS/Linux or where adb on Windows.
Other clients use the same command/args/env fields under a different top-level
key. VS Code, for example, uses servers instead of mcpServers. Check your
client's MCP documentation for the exact format.
Next steps¶
- Configuration: all settings, where saved files go, and how to enable destructive tools.
- Claude Code: register the server with one command.
- AI-Assisted Install: a prompt that lets your AI assistant install and configure everything for you.
- Tool Reference: every tool, grouped by area.