Android Debug Bridge MCP
This server provides MCP tools for Android device automation via ADB. Capabilities include:
Test Organization: Create named test folders to manage screenshots and artifacts per test run.
App Management: List installed apps matching a name pattern; open apps by package name with automatic launcher-activity resolution.
Screen Capture: Capture screenshots saved to test folders with step labels; capture UI hierarchy dumps for inspection.
Input Simulation: Send key events (BACK, HOME, ENTER, DELETE); tap at coordinates; input text; scroll in all directions (up, down, left, right).
Provides tools for controlling Android devices via ADB, enabling automation testing, app management, screen capture, UI analysis, and input simulation including taps, text input, and scrolling.
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., "@Android Debug Bridge MCPtake a screenshot and save it as step '001_homepage'"
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.
Android Debug Bridge MCP
Control Android devices and emulators from an AI agent — over MCP or straight from the terminal.
Both surfaces share one engine, so anything you can do as an MCP tool call you can also do as a shell command, and vice versa.
Surface | Entry point | Best for |
MCP server |
| Screenshots rendered inline in the conversation, step-by-step reasoning |
CLI |
| Chained flows in one shell call, scripts, CI |
Features
UI automation that survives layout changes — parse the accessibility tree, find elements by label/description/resource-id, and tap them by name instead of by coordinate
Occlusion-aware taps — the accessibility tree has no z-order, so an element under a bottom bar still claims those pixels;
ui tapfinds an uncovered point inside the target and refuses (instead of silently hitting the overlay) when there is noneNormalized coordinates —
0.5 0.7means the same point on any screen size; raw pixels still workInput — tap, double tap, long press, swipe, scroll, type, clear fields, and 40+ hardware/software keys
Apps — list, launch (with launcher-activity resolution), stop, restart, clear data, install/uninstall, inspect versions, grant/revoke runtime permissions
Screen — screenshots to disk and base64, screen recording, rotation, wake/sleep, PIN unlock
System — Wi-Fi/data/airplane toggles, logcat with package and priority filters, deeplinks, broadcasts, file push/pull, settings read/write, props, processes, memory, battery, notifications
Devices — list, TCP/IP connect, wait-for-boot, reboot, multi-device targeting
Test artifacts — per-run folders with numbered screenshots
Agent skills — ready-to-install
SKILL.mdguides for both surfaces, also served by the CLI itself
Related MCP server: Android MCP Server
Installation
npm install -g android-debug-bridge-mcpPrerequisites: ADB on your PATH (Android platform-tools), and a device with USB debugging enabled or a running emulator.
Verify everything at once:
adb-agent doctorok adb adb — Android Debug Bridge version 1.0.41
ok devices 1 ready: emulator-5554
ok uiautomator 24 elements on screenCLI usage
adb-agent <group> <command> [arguments] [flags]adb-agent device list --json
adb-agent app launch com.android.settings
adb-agent ui find "Wi-Fi"
adb-agent ui tap "Wi-Fi"
adb-agent input text "hello world" --submit
adb-agent screen shot --test login --step 001_home
adb-agent system logcat --package com.example.app --priority E --lines 50Groups: device, ui, input, app, screen, system, test, skills, doctor, plus batch.
Run adb-agent <group> --help for a group's commands.
Chaining
Every command exits non-zero on failure, so shell chaining just works:
adb-agent app restart com.example.app \
&& adb-agent ui wait "Email" --timeout 15000 \
&& adb-agent ui tap "Email" \
&& adb-agent input text "user@example.com"batch does the same in one process, with one report and a wait <ms> step for pauses:
adb-agent batch \
"app restart com.example.app" \
"ui wait Email --timeout 15000" \
"ui tap Email" \
"input text user@example.com" \
"wait 500" \
"ui tap Continue" \
"screen shot --test login --step 002_submitted" \
--jsonSteps stop at the first failure unless you pass --continue-on-error, and can come from a file (--file steps.txt) or stdin (batch -).
JSON contract
{"ok":true,"command":"ui.tap","summary":"tapped \"Sign in\" at (540, 1284)","data":{…}}
{"ok":false,"command":"ui.tap","error":{"message":"no element matches \"Sign in\"","name":"Error"}}One line, always the same shape — pipe it straight into jq:
adb-agent ui dump --json | jq -r '.data.elements[] | select(.clickable) | .label'MCP usage
Claude Code
claude mcp add --scope project android-debug-bridge -- npx android-debug-bridge-mcpOr in ~/.claude/mcp.json:
{
"mcpServers": {
"android-debug-bridge": {
"command": "npx",
"args": ["android-debug-bridge-mcp"]
}
}
}Claude Desktop
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"android-debug-bridge": {
"command": "npx",
"args": ["android-debug-bridge-mcp"]
}
}
}Cursor
Settings → Extensions → MCP → add a server with command npx and args ["android-debug-bridge-mcp"].
Tools
58 tools grouped by area — devices, UI, input, apps, screen, system, artifacts. Every tool takes an optional device serial. Input tools append a fresh UI snapshot to their result so the agent sees the new screen without a second call (disable with ADB_AUTO_UI=false).
See skills/adb-mcp/SKILL.md for the full list and the recommended flow.
Agent skills
Two SKILL.md guides ship with the package:
cp -r node_modules/android-debug-bridge-mcp/skills/adb-cli .claude/skills/
cp -r node_modules/android-debug-bridge-mcp/skills/adb-mcp .claude/skills/The CLI also prints them, so an agent that has the CLI but not the skill installed can read them without hunting for the path:
adb-agent skills list
adb-agent skills get adb-cliSee skills/README.md for details.
Environment
Variable | Effect |
| Path to the adb binary (default: |
| Default device serial (also honours |
| Delay after UI-mutating actions in ms (default 300) |
| Where screenshots and recordings are written (default cwd) |
| Set to |
| Override the folder holding the |
Development
yarn install
yarn build # compile to dist/
yarn dev # watch mode
yarn start # run the MCP server
yarn cli -- doctorLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables AI agents to interact with Android devices through UI manipulation, screen capture, touch gestures, text input, and app management via ADB. Provides comprehensive mobile automation capabilities including element detection, navigation, and application control for Android device testing and interaction.Last updated95
- AlicenseBqualityDmaintenanceEnables control of Android devices via ADB, allowing screenshot capture, touch simulation, and swipe gestures through natural language commands.Last updated222186MIT
- Alicense-qualityDmaintenanceEnables interaction with Android devices and emulators through ADB, allowing control actions like tapping, text input, screenshots, UI inspection, and app launching through natural language.Last updated338ISC
- Flicense-qualityDmaintenanceEnables control of Android devices through ADB using natural language commands. Supports browser automation, SMS sending, device information retrieval, settings control, and common device actions like screenshots and button presses.Last updated3
Related MCP Connectors
Control Android TV from any AI. 38 MCP tools: playback, recap, recommend, smart-home, schedules.
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/TiagoDanin/Android-Debug-Bridge-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server