Agent Droid Bridge is an MCP server that connects AI agents to Android devices and emulators over ADB. It is built for mobile automation, app
Most developer tooling work still happens through a UI a human drives. Agent Droid Bridge MCP server moves it into the conversation instead. Agent Droid Bridge is an MCP server that connects AI agents to Android devices and emulators over ADB. It is built for mobile automation, app testing, dynamic analysis, and reverse engineering: exposing the full surface of ADB as.
agent-droid-bridge on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.
The server publishes 14 tools. What each one is for:
get_ui_hierarchy — Returns the current screen as an XML UI hierarchytake_screenshot — Captures the screen as a base64-encoded PNGtap_screen — Sends a tap gesture at pixel coordinatesswipe_screen — Sends a swipe gesture between two points over a given durationtype_text — Types text into the focused input fieldpress_key — Sends an Android keycode event (Back, Home, Enter, etc.)launch_app — Launches an app by its package/activity component nameexecute_adb_command — Runs an arbitrary ADB or ADB shell commandlist_devices — Lists all Android devices currently visible to ADB with their serial, state, and modelsnapshot_ui — Takes a lightweight UI snapshot and returns a token for use with detect_ui_changedetect_ui_change — Polls for a UI change after an action; accepts a snapshot token as baseline; returns hierarchy only when requestedget_screen_elements — Parses the UI hierarchy and returns structured elements with coordinates and interaction properties; supports tappable, interactive, input, and allConfiguration is passed through the environment: ADB_EXECUTION_MODE, ADB_ALLOW_SHELL, ADB_PATH, ADB_EXTRA_TOOL_PACKS, MCP_LOG_ENABLED, MCP_LOG_DIR. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Agent Droid Bridge's toolset — get_ui_hierarchy, take_screenshot, tap_screen and 11 more — is a fair guide to whether it matches your workflow. It is maintained by neverlow512; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| get_ui_hierarchy | Returns the current screen as an XML UI hierarchy |
| take_screenshot | Captures the screen as a base64-encoded PNG |
| tap_screen | Sends a tap gesture at pixel coordinates |
| swipe_screen | Sends a swipe gesture between two points over a given duration |
| type_text | Types text into the focused input field |
| press_key | Sends an Android keycode event (Back, Home, Enter, etc.) |
| launch_app | Launches an app by its package/activity component name |
| execute_adb_command | Runs an arbitrary ADB or ADB shell command |
| list_devices | Lists all Android devices currently visible to ADB with their serial, state, and model |
| snapshot_ui | Takes a lightweight UI snapshot and returns a token for use with detect_ui_change |
| detect_ui_change | Polls for a UI change after an action; accepts a snapshot token as baseline; returns hierarchy only when requested |
| get_screen_elements | Parses the UI hierarchy and returns structured elements with coordinates and interaction properties; supports tappable, interactive, input, and all modes |
| get_screen_text | Returns all visible text on screen sorted top-to-bottom, as plain text |
| check_device_capabilities | Returns structured device information — identity, security posture, and hardware specs — in a single call; supports identity, security, hardware, and all modes |
{
"mcpServers": {
"agent-droid-bridge": {
"command": "uvx",
"args": ["agent-droid-bridge"],
"env": {
"ADB_EXECUTION_MODE": "your-value",
"ADB_ALLOW_SHELL": "your-value",
"ADB_PATH": "your-value",
"ADB_EXTRA_TOOL_PACKS": "your-value",
"MCP_LOG_ENABLED": "your-value",
"MCP_LOG_DIR": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| ADB_EXECUTION_MODE | Configuration value read at startup. | Optional |
| ADB_ALLOW_SHELL | Configuration value read at startup. | Optional |
| ADB_PATH | Filesystem location the server is allowed to use. | Optional |
| ADB_EXTRA_TOOL_PACKS | Configuration value read at startup. | Optional |
| MCP_LOG_ENABLED | Configuration value read at startup. | Optional |
| MCP_LOG_DIR | Filesystem location the server is allowed to use. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.