ADB

Provides an ADB-based MCP server to interact with Android devices via MCP clients.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational