mcp-server-adb
mcp-server-adb is a TypeScript-based server enabling AI interactions with Android devices via ADB commands. It provides tools for device discovery, control, and app management, with future plans for enhanced app operations.
mcp-server-adb
A Model Context Protocol server for Android Debug Bridge (ADB) control
This is a TypeScript-based MCP server that implements an ADB control system. It allows AI assistants to interact with Android devices through ADB commands, providing:
- Resources for device discovery and information
- Tools for device control and app management
- Prompts for device analysis and diagnostics
Features
Resources
- List connected devices via
device://list
- Access device information via
device://{serial}/info
- View installed packages via
device://{serial}/packages
- Capture screenshots via
device://{serial}/screenshot
Tools
Device Control
connect_device
- Connect to a specified devicedisconnect_device
- Disconnect from a device
Device Operations
tap
- Tap on the screenswipe
- Swipe on the screeninput_text
- Input textpress_key
- Press a keytake_screenshot
- Take a screenshot
Application Management (Coming Soon)
install_app
- Install APKuninstall_app
- Uninstall applicationstart_app
- Launch applicationstop_app
- Stop application
Prompts
analyze_device
- Analyze device status and specificationsanalyze_app_list
- Analyze installed applicationsanalyze_screen
- Analyze current screen content
Prerequisites
- Node.js 16 or higher
- Android Debug Bridge (ADB) installed and available in PATH
- Android device with USB debugging enabled or network ADB enabled
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-server-adb": {
"command": "/path/to/mcp-server-adb/build/index.js"
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Device Setup
-
Enable USB debugging on your Android device:
- Go to Settings > About phone
- Tap "Build number" 7 times to enable Developer options
- Go to Settings > Developer options
- Enable "USB debugging"
-
For network debugging:
- Connect device via USB first
- Enable "Wireless debugging" in Developer options
- Use
connect_device
tool with the device's IP address
License
MIT