
Agent Droid Bridge
Gives your AI agent direct access to Android devices and emulators through ADB. You get 14 core tools for screen capture, UI inspection, touch input, text entry, and shell commands, plus an optional app_manager pack with 9 more for APK extraction, package management, and intent injection. Built for mobile QA automation, app testing, and security research where you need to tap, swipe, install, inspect permissions, or pull artifacts without modifying the target app. Runs in unrestricted mode with full ADB access or restricted mode with allowlists. Returns structured, minimal responses instead of raw XML dumps to keep context windows manageable during long automation sessions. Optional JSONL logging captures every tool call and security event.
- GitHub stars
- 15
- tools
- 23
- transport
- STDIO
- env vars
- 16
- last updated
- Apr 15, 2026
Tools
23 toolsPublic tool metadata for what this MCP can expose to an agent.
get_ui_hierarchyReturns the current screen as an XML UI hierarchy
Returns the current screen as an XML UI hierarchy
No parameter schema in public metadata yet.
take_screenshotCaptures the screen as a base64-encoded PNG
Captures the screen as a base64-encoded PNG
No parameter schema in public metadata yet.
tap_screenSends a tap gesture at pixel coordinates
Sends a tap gesture at pixel coordinates
No parameter schema in public metadata yet.
swipe_screenSends a swipe gesture between two points over a given duration
Sends a swipe gesture between two points over a given duration
No parameter schema in public metadata yet.
type_textTypes text into the focused input field
Types text into the focused input field
No parameter schema in public metadata yet.
press_keySends an Android keycode event (Back, Home, Enter, etc.)
Sends an Android keycode event (Back, Home, Enter, etc.)
No parameter schema in public metadata yet.
launch_appLaunches an app by its `package/activity` component name
Launches an app by its `package/activity` component name
No parameter schema in public metadata yet.
execute_adb_commandRuns an arbitrary ADB or ADB shell command
Runs an arbitrary ADB or ADB shell command
No parameter schema in public metadata yet.
list_devicesLists all Android devices currently visible to ADB with their serial, state, and model
Lists all Android devices currently visible to ADB with their serial, state, and model
No parameter schema in public metadata yet.
snapshot_uiTakes a lightweight UI snapshot and returns a token for use with `detect_ui_change`
Takes a lightweight UI snapshot and returns a token for use with `detect_ui_change`
No parameter schema in public metadata yet.
detect_ui_changePolls for a UI change after an action; accepts a snapshot token as baseline; returns hierarchy only when requested
Polls for a UI change after an action; accepts a snapshot token as baseline; returns hierarchy only when requested
No parameter schema in public metadata yet.
get_screen_elementsParses the UI hierarchy and returns structured elements with coordinates and interaction properties; supports `tappable`, `interactive`, `input`, and `all` modes
Parses the UI hierarchy and returns structured elements with coordinates and interaction properties; supports `tappable`, `interactive`, `input`, and `all` modes
No parameter schema in public metadata yet.
get_screen_textReturns all visible text on screen sorted top-to-bottom, as plain text
Returns all visible text on screen sorted top-to-bottom, as plain text
No parameter schema in public metadata yet.
check_device_capabilitiesReturns structured device information — identity, security posture, and hardware specs — in a single call; supports `identity`, `security`, `hardware`, and `all` modes
Returns structured device information — identity, security posture, and hardware specs — in a single call; supports `identity`, `security`, `hardware`, and `all` modes
No parameter schema in public metadata yet.
list_packagesLists installed packages with optional filtering, search, and detail levels
Lists installed packages with optional filtering, search, and detail levels
No parameter schema in public metadata yet.
get_app_infoReturns full static metadata for a single installed app
Returns full static metadata for a single installed app
No parameter schema in public metadata yet.
install_appInstalls an APK from a host path onto the device
Installs an APK from a host path onto the device
No parameter schema in public metadata yet.
uninstall_appRemoves an installed app by package name
Removes an installed app by package name
No parameter schema in public metadata yet.
pull_apkExtracts the installed APK from the device to the host
Extracts the installed APK from the device to the host
No parameter schema in public metadata yet.
manage_permissionGrants, revokes, checks, or lists runtime permissions for an app
Grants, revokes, checks, or lists runtime permissions for an app
No parameter schema in public metadata yet.
launch_app_extraLaunches an app by package name, auto-resolving the launcher activity
Launches an app by package name, auto-resolving the launcher activity
No parameter schema in public metadata yet.
manage_appControls app runtime state — stop, clear data, clear cache, enable, disable
Controls app runtime state — stop, clear data, clear cache, enable, disable
No parameter schema in public metadata yet.
inject_intentFires an intent at a component via `am start`, `am broadcast`, or `am startservice`
Fires an intent at a component via `am start`, `am broadcast`, or `am startservice`
No parameter schema in public metadata yet.
Sponsors
Configuration
ADB_EXECUTION_MODEdefault: unrestrictedSecurity mode. 'unrestricted' allows all shell commands with an optional denylist. 'restricted' allows only commands in ADB_SHELL_ALLOWLIST.
ADB_ALLOW_SHELLdefault: trueSet to 'false' to block all adb shell commands regardless of execution mode.
ADB_PATHdefault: adbPath to the ADB binary. Use a full path if adb is not on your system PATH.
ADB_EXTRA_TOOL_PACKSComma-separated list of extra tool packs to load. Set to 'app_manager' to enable 9 additional app management tools.
ADB_DENIED_TOOLSComma-separated list of tool names to hide from the agent at startup.
ADB_SHELL_ALLOWLISTComma-separated list of shell commands permitted in restricted mode. Empty blocks all shell commands.
ADB_SHELL_DENYLISTComma-separated list of shell commands blocked in unrestricted mode.
MCP_LOG_ENABLEDdefault: falseSet to 'true' to enable session logging. Requires MCP_LOG_DIR.
MCP_LOG_DIRAbsolute path to the directory where session logs are written. Required when MCP_LOG_ENABLED is true.
ADB_LOG_LEVELdefault: INFOServer process log level.
ADB_COMMAND_TIMEOUTdefault: 30Maximum seconds to wait for any ADB command.
ADB_SCREENSHOT_TIMEOUTdefault: 60Maximum seconds to wait for a screenshot capture.
ADB_UI_CHANGE_TIMEOUTdefault: 10Default timeout in seconds for detect_ui_change.
ADB_UI_CHANGE_POLL_INTERVALdefault: 0.5How often in seconds detect_ui_change polls the UI hierarchy.
ADB_AAPT_TIMEOUTdefault: 10Maximum seconds to wait for aapt dump badging, used by the app_manager pack.
ADB_CONFIG_SOURCEdefault: envSet to 'yaml' to load configuration from adb_config.yaml instead of environment variables.
Readme
Details
- Repository
- github.com/neverlow512/agent-droid-bridge
- Categories
- AI & LLM Tools, Mobile Development
- Package
agent-droid-bridge- Transport
- STDIO
- Registry
- MCP registry, active