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 "Install 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: scrcpy-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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/myNameArnav/adb-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server