ADB MCP Server
Provides Android Debug Bridge (ADB) functionality for automating Android devices, including device management, screen operations (screenshots, touch input), app management (install/uninstall, start/stop), file operations, and shell command execution.
Enables file operations on Android devices including pushing files to device, pulling files from device, listing files and directories, creating directories, and deleting files.
Allows execution of shell commands on Android devices to get system information, battery information, and logcat output, with basic security measures to block dangerous commands.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ADB MCP Server take a screenshot of my device"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Android ADB MCP Server
Installation
Clone the repository
Install dependencies:
npm installBuild 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 startAvailable 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 buildDevelopment Mode
npm run devLint
npm run lintMCP
"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
Available Tools
20 toolsadb_clickC
Click at specific coordinates on the device screen
Inputs: x (required), y (required), deviceId.
adb_get_battery_infoC
Get battery information from the device
Inputs: deviceId.
adb_get_device_infoC
Get detailed information about a specific device
Inputs: deviceId.
adb_get_logcatC
Get logcat output from the device
Inputs: lines, tag, deviceId.
adb_get_system_infoC
Get system information from the device
Inputs: deviceId.
adb_input_textC
Input text on the device
Inputs: text (required), deviceId.
adb_install_appC
Install an APK file on the device
Inputs: apkPath (required), deviceId.
adb_list_appsC
List installed apps on the device
Inputs: deviceId.
adb_list_devicesA
List all connected Android devices
Inputs: no named parameters.
adb_list_filesC
List files in a directory on the device
Inputs: remotePath (required), deviceId.
adb_press_keyC
Press a key on the device
Inputs: keyCode (required), deviceId.
adb_pull_fileC
Pull a file from device to local system
Inputs: remotePath (required), localPath, deviceId.
adb_push_fileC
Push a file from local system to device
Inputs: localPath (required), remotePath (required), deviceId.
adb_screenshotC
Take a screenshot of the device screen
Inputs: deviceId, format.
adb_set_default_deviceC
Set the default device for subsequent operations
Inputs: deviceId (required).
adb_shellC
Execute a shell command on the device
Inputs: command (required), deviceId.
adb_start_appC
Start an app on the device
Inputs: packageName (required), activityName, deviceId.
adb_stop_appC
Stop an app on the device
Inputs: packageName (required), deviceId.
adb_swipeC
Swipe from one point to another on the device screen
Inputs: x1 (required), y1 (required), x2 (required), y2 (required), +2 more.
adb_uninstall_appC
Uninstall an app from the device
Inputs: packageName (required), deviceId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 20 tools
Every tool has a clearly distinct purpose with no ambiguity - each targets a specific Android Debug Bridge operation like clicking, getting info, installing apps, or file management. The descriptions clearly differentiate actions like adb_click vs adb_swipe, adb_install_app vs adb_uninstall_app, and adb_pull_file vs adb_push_file.
All tools follow a perfect 'adb_verb_noun' pattern consistently throughout the entire set. The naming convention is uniform with clear action-object relationships, making it easy to understand what each tool does at a glance.
20 tools is slightly high but reasonable for comprehensive Android device management. The count covers essential ADB operations without obvious bloat, though some related operations like app clearing or system property setting could potentially be added or consolidated.
The toolset provides complete coverage for Android device management through ADB, including device listing/selection, app lifecycle management (install/start/stop/uninstall), file operations, input simulation, system information retrieval, and debugging capabilities. No significant gaps exist for core ADB workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Give your AI agent a real cloud Android phone: push APKs, drive it, get screenshots and logs.
A Model Context Protocol server for Wix AI tools
Mozark's MCP server for AI-powered app testing: device access, test automation, and QA insights.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.8451Apache 2.0
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables AI assistants to interact with Android devices through ADB, allowing for automated device management, app installation, file transfers, and screenshot capture.485 npm38ISC
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI agents to control and automate Android devices through natural language, supporting actions like app management, UI interactions, and device monitoring.59MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables remote management of Android devices over WiFi, including taking screenshots, listing connected devices, and retrieving device information.5MIT