Android MCP Server
Android diagnostic and forensic analysis using 76 ADB-powered tools and prompts.
Data last scanned today · Reviewed today
Overview
This server acts as a deep-system interface for Android devices, leveraging ADB to perform diagnostics and forensics. It provides 76 distinct tools covering logcat, dumpsys, package internals, and system properties, allowing AI models to troubleshoot crashes, memory leaks, and performance issues directly on a device without heavy frameworks like Appium. Beyond basic diagnostics, it includes five specialized MCP prompts for workflows like permission audits and app startup profiling. The server is designed for efficiency, featuring token-trimmed schemas and a device-health aggregation tool that presents a snapshot of battery, RAM, and network status.
Our verdict
With a high-risk security score of 35/100, users should approach this tool with caution. The score reflects that the project is community-maintained rather than vendor-official and has not undergone editorial review. While it implements a two-tier security model to gate write and shell operations, its experimental nature and lack of broad vetting make it suitable only for development and local diagnostic environments.
- Supports 76 tools including logcat and dumpsys diagnostics
- Integrates five workflow-ready MCP prompts for automated investigation
- Uses pure ADB without requiring Appium or uiautomator2
- Includes granular security gates for write and shell operations
- Security score of 35/100 indicates high risk
- Community-maintained project lacking vendor verification
- Last repository commit occurred 65 days ago
Setup
{
"mcpServers": {
"android-mcp-server": {
"args": [
"-y",
"@us-all/android-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| list-devices | List connected Android devices. | low |
| get-device-info | Get device information. | low |
| get-device-properties | Get device properties. | low |
| connect-device | Connect to a device. | medium |
| disconnect-device | Disconnect from a device. | medium |
| list-packages | List installed packages. | low |
| get-package-info | Get package information. | low |
| install-app | Install an application. | medium |
| uninstall-app | Uninstall an application. | medium |
| launch-app | Launch an application. | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What are the core prerequisites for running this server?
You must have ADB installed and available on your PATH, or you can specify its location via the ADB_PATH environment variable. Additionally, the target Android device or emulator must have USB debugging enabled.
›How does the two-tier security model work?
The server uses separate flags to gate sensitive operations: ANDROID_MCP_ALLOW_WRITE enables destructive or state-changing actions like installs and device input, while ANDROID_MCP_ALLOW_SHELL restricts access to arbitrary adb shell commands.
›Can I use this with multiple Android devices connected at once?
Yes, you can target a specific device by setting the ANDROID_SERIAL environment variable to the serial ID of your preferred hardware or emulator.
›Does this server support remote clients or only local stdio?
The server defaults to stdio but also supports Streamable HTTP. You can enable this by setting the MCP_TRANSPORT environment variable to 'http' and providing a bearer token using MCP_HTTP_TOKEN.
›Are there specific configuration options to reduce token usage?
Yes, you can limit the server's output by using the ANDROID_DISABLE environment variable to disable any of the 9 available tool categories, or use the search-tools meta functionality.
Changelog
Badge
Maintain this server? Add the live badge to your README.