adb-mcp
Controls an Android device over ADB, enabling app launch, UI element interaction, key events, and shell commands via an AccessibilityService helper.
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-mcplaunch the calculator app on my phone"
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
Everything was built by LLM's
MCP server for controlling an Android device over ADB. The host server is written in TypeScript and talks to a Kotlin helper APK that exposes semantic UI control through an AccessibilityService.
The project is optimized for a physical Android phone connected over USB ADB. Screenshots and coordinate gestures are intended as explicit fallbacks; normal actions use direct Android commands or semantic accessibility selectors.
Status
Prototype implementation. The TypeScript server builds and its unit tests pass. The Android helper requires a local Android SDK before it can be built.
Related MCP server: @wilsonbeam/openclaw-adb-mcp
Requirements
Node.js 22 or newer
npm
Android SDK command-line tools or Android Studio
A USB-connected Android device with ADB enabled
Install
npm installBuild and test
npm run build
npm testTo build the Android helper:
scripts/bootstrap-android-sdk.sh
npm run build:helperIf the Android SDK is already installed, set ANDROID_HOME or create helper/local.properties with:
sdk.dir=/absolute/path/to/Android/sdkhelper/local.properties is intentionally ignored by git.
Run
Build the server first:
npm run build
npm startFor an MCP client, copy mcp-config.example.json and replace /absolute/path/to/adb-mcp with this repository's absolute path.
Helper APK
Build and install the debug helper APK:
npm run build:helper
npm run install:helperThen enable the helper AccessibilityService on the device once in Android settings.
Tools
The server exposes low-level Android control primitives such as:
device discovery and setup status
helper APK installation
app launch and foreground app detection
semantic tree lookup and node actions
safe key events
guarded shell execution
bounded
run_stepscomposition
See workflows/android-device-control.md for the V1 behavior contract.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Appcircle mobile CI/CD platform.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
The official MCP Server for the Mux API
An authenticated remote MCP server for user-owned devices and one-shot capability invocation.
Related MCP Servers
- FlicenseAqualityDmaintenanceA MCP server that enables AI assistants to control Android devices via ADB, supporting device info, screen control, input simulation, app management, shell execution, file transfer, and UI parsing.20-
- FlicenseBqualityDmaintenanceMCP server for Android device automation via ADB, enabling screen control, phone functions, app management, and device control.301-
- AlicenseAqualityCmaintenanceAn MCP server that gives AI agents full control of Android devices and emulators through plain ADB — no companion APK, no extra daemon, no telemetry.268 npm2MIT
- AlicenseBqualityAmaintenanceMCP server for Android emulator automation via ADB.1751 npm4MIT