ADB
- typescript
14
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"jiantao88-android-mcp-server": {
"command": "node",
"args": [
"-y",
"/path/to/mcp-server-adb/build/index.js",
"/path/to/adb"
]
}
}
}This MCP server lets Claude interact with Android devices using ADB by exposing a set of programmatic actions you can invoke from a client. It enables you to list devices and packages, push and pull files, install or uninstall apps, capture screenshots, manage permissions, and more, all through a standardized MCP interface.
How to use
You connect to the ADB MCP server from your MCP client by configuring a named MCP server entry. Once connected, you can perform common device operations such as listing devices, listing installed packages, installing APKs, pushing and pulling files, taking screenshots, and managing app data and permissions. Each action corresponds to a specific command exposed by the MCP server, and you call these commands through the client’s MCP interface using the server name you configured.
How to install
Prerequisites: You need Node.js and ADB installed on your machine. ADB should be accessible from your system path.
Install the server locally by cloning the project, installing dependencies, and building the project.
# Install prerequisites if needed (Node.js and npm should be installed already)
# Clone the repository
git clone [repository-url]
cd mcp-server-adb
# Install dependencies
npm install
# Build the project
npm run build
Run and configure the server in your environment
To run the MCP server locally, expose it as an MCP stdio server. Use the runtime command shown in examples to start the server and point it at your ADB executable.
Example configurations you will use in MCP clients are shown below. Adjust paths to your actual build output and ADB executable.
{
"mcpServers": {
"adb": {
"command": "node",
"args": ["-y", "/path/to/mcp-server-adb/build/index.js", "/path/to/adb"]
}
}
}
Additional usage notes
Ensure your ADB daemon is running and devices are connected with USB debugging enabled. The server will relay commands to the connected device(s) and return results to your MCP client.
Configuration and examples
Two example MCP client configurations are shown here to illustrate how you wire the server into your client setup.
{
"mcpServers": {
"adb": {
"command": "node",
"args": ["/path/to/android-mcp-server/build/index.js", "/path/to/adb"]
}
}
}
Notes on multiple environments
If you use different environments (Claude Desktop vs Windsurf), you can provide separate stdio configurations for each, both pointing to the same built server binary but with different ADB paths based on your setup.
Tools and endpoints overview
The MCP server exposes a range of actions you can invoke through the client. These include finding devices, querying installed packages with various filters, installing and uninstalling apps, handling app data, and performing file transfers and screenshots.
Available tools
get-devices
List connected Android devices with an option to show detailed information.
list-packages
List installed packages on a device with options to filter by path, enabled/disabled status, system/third-party, installer, and whether to include uninstalled packages.
input-text
Input text into the connected device; requires the text to send.
install-apk
Install an APK on the device with options to allow reinstallation, test packages, downgrade, and grant permissions.
uninstall-apk
Uninstall an application by package name, with an option to keep app data.
clear-app-data
Clear all data for a specified package.
pull
Pull a file from the device to your local system with an optional local path.
push
Push a local file to a path on the device.
screencap
Capture a screenshot and save it on the device, with an option to save as PNG.
rm
Delete a file on the device, with options for force and recursive deletion.
reset-permissions
Reset all permissions for a given package.
grant-permission
Grant a specific permission to a package.