ADB MCP
A Model Context Protocol (MCP) server that provides Android Debug Bridge (ADB) functionality for automating Android devices.
Features
Device Management
- List connected devices
- Get device information
- Set default device for operations
- Check device connection status
Screen Operations
- Take screenshots
- Click at coordinates
- Swipe gestures
- Input text
- Press keys
App Management
- Install/uninstall apps
- Start/stop apps
- List installed apps
- Get app information
File Operations
- Push files to device
- Pull files from device
- List files and directories
- Create directories
- Delete files
Shell Commands
- Execute shell commands
- Get system information
- Get battery information
- Get logcat output
Installation
Clone the repository
Install dependencies:
npm install
Build the project:
npm run build
Usage
Prerequisites
- Android Debug Bridge (adb) must be installed and available in PATH
- Android device connected via USB with USB debugging enabled
- Device must be authorized for debugging
Running the Server
npm start
Available Tools
Device Management
adb_list_devices
- List all connected devicesadb_get_device_info
- Get device informationadb_set_default_device
- Set default device
Screen Operations
adb_screenshot
- Take screenshotadb_click
- Click at coordinatesadb_swipe
- Swipe gestureadb_input_text
- Input textadb_press_key
- Press key
App Management
adb_install_app
- Install APKadb_uninstall_app
- Uninstall appadb_start_app
- Start appadb_stop_app
- Stop appadb_list_apps
- List installed apps
File Operations
adb_push_file
- Push file to deviceadb_pull_file
- Pull file from deviceadb_list_files
- List files in directory
Shell Commands
adb_shell
- Execute shell commandadb_get_system_info
- Get system informationadb_get_battery_info
- Get battery informationadb_get_logcat
- Get logcat output
Security
The server includes basic security measures:
- Dangerous shell commands are blocked
- File path validation
- Device connection verification
- Input sanitization
Development
Build
npm run build
Development Mode
npm run dev
Lint
npm run lint
MCP
"mcpServers": {
"adb-mcp": {
"type": "stdio",
"command": "node",
"args": [
"/adb-mcp/dist/index.js"
],
"env": {
"ADB_DOWNLOAD_PATH": "/adb-mcp",
"MCP_READ_PATH": "/adb-mcp"
}
}
}
License
MIT