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
- 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
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
analyze_device- Analyze device status and specificationsanalyze_app_list- Analyze installed applicationsanalyze_screen- Analyze current screen content
- Node.js 16 or higher
- Android Debug Bridge (ADB) installed and available in PATH
- Android device with USB debugging enabled or network ADB enabled
Install dependencies:
npm installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchTo 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"
}
}
}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 inspectorThe Inspector will provide a URL to access debugging tools in your browser.
-
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_devicetool with the device's IP address
MIT