Agent Droid Bridge is a FastMCP server that gives AI agents programmatic control over Android devices and emulators via ADB. It exposes the following capabilities:
Screen Interaction: Tap and swipe at pixel coordinates, type text into focused input fields, and send key events (Back, Home, Enter, Delete, etc.)
UI Inspection: Capture screenshots as base64 PNG images or retrieve the full XML UI hierarchy to locate elements, read text, and find resource IDs
Efficient UI Monitoring: Take lightweight UI snapshots and poll for screen changes using a snapshot token, avoiding unnecessary full hierarchy transfers
App & Device Control: Launch apps by
package/activitycomponent name and list all connected devices with their serial numbers, state, and model namesArbitrary ADB Commands: Execute any ADB or ADB shell command, safely parsed via
shlexto prevent shell injectionMulti-Device Handling: Auto-detects a single connected device or requires explicit serial specification when multiple devices are present
Provides programmatic control over Android devices and emulators, enabling AI agents to interact with screens via taps and swipes, inspect UI hierarchies, capture screenshots, and execute ADB commands.
Agent Droid Bridge
A FastMCP server that gives AI agents programmatic control over Android devices and emulators via ADB.
Demo

Install
uvx agent-droid-bridgeNo cloning or virtual environments needed. Requires Python 3.11+ and ADB installed on your host.
What it does
Exposes 11 MCP tools covering screen interaction, UI inspection, text input, and arbitrary ADB commands
Auto-detects the connected device when only one is present; presents a device list and requires the user to choose when multiple are connected
Parses all commands safely via
shlex— no shell injection possibleRuns over stdio, making it compatible with any MCP-capable AI client
Quick start
Install ADB — see docs/setup.md for platform-specific instructions
Connect an Android device or start an emulator
Add the server to your MCP client config:
{
"mcpServers": {
"agent-droid-bridge": {
"command": "uvx",
"args": ["agent-droid-bridge"],
"env": {
"ADB_EXECUTION_MODE": "unrestricted",
"ADB_ALLOW_SHELL": "true"
}
}
}
}Prompt your agent to use the
agent-droid-bridgeMCP tools
Full setup guide: docs/setup.md
Tools
Tool | What it does |
| Returns the current screen as an XML UI hierarchy |
| Captures the screen as a base64-encoded PNG |
| Sends a tap gesture at pixel coordinates |
| Sends a swipe gesture between two points over a given duration |
| Types text into the focused input field |
| Sends an Android keycode event (Back, Home, Enter, etc.) |
| Launches an app by its |
| Runs an arbitrary ADB or ADB shell command |
| Lists all Android devices currently visible to ADB with their serial, state, and model |
| Takes a lightweight UI snapshot and returns a token for use with |
| Polls for a UI change after an action; accepts a snapshot token as baseline; returns hierarchy only when requested |
Full parameter reference: docs/tools.md
Documentation
File | Description |
Prerequisites, installation, and MCP client configuration | |
Full parameter reference for all 11 tools | |
Reference for |