NestDaddy

Agent Droid Bridge

io.github.Neverlow512/agent-droid-bridge ยท v0.6.1

MCP server giving AI agents eyes and hands inside Android devices via ADB

Connect Runs on your machine

Terminal
claude mcp add agent-droid-bridge -e ADB_EXECUTION_MODE=<ADB_EXECUTION_MODE> -e ADB_ALLOW_SHELL=<ADB_ALLOW_SHELL> -e ADB_PATH=<ADB_PATH> -e ADB_EXTRA_TOOL_PACKS=<ADB_EXTRA_TOOL_PACKS> -e ADB_DENIED_TOOLS=<ADB_DENIED_TOOLS> -e ADB_SHELL_ALLOWLIST=<ADB_SHELL_ALLOWLIST> -e ADB_SHELL_DENYLIST=<ADB_SHELL_DENYLIST> -e MCP_LOG_ENABLED=<MCP_LOG_ENABLED> -e MCP_LOG_DIR=<MCP_LOG_DIR> -e ADB_LOG_LEVEL=<ADB_LOG_LEVEL> -e ADB_COMMAND_TIMEOUT=<ADB_COMMAND_TIMEOUT> -e ADB_SCREENSHOT_TIMEOUT=<ADB_SCREENSHOT_TIMEOUT> -e ADB_UI_CHANGE_TIMEOUT=<ADB_UI_CHANGE_TIMEOUT> -e ADB_UI_CHANGE_POLL_INTERVAL=<ADB_UI_CHANGE_POLL_INTERVAL> -e ADB_AAPT_TIMEOUT=<ADB_AAPT_TIMEOUT> -e ADB_CONFIG_SOURCE=<ADB_CONFIG_SOURCE> -- uvx agent-droid-bridge==0.6.1
claude_desktop_config.json
{
  "mcpServers": {
    "agent-droid-bridge": {
      "command": "uvx",
      "args": [
        "agent-droid-bridge==0.6.1"
      ],
      "env": {
        "ADB_EXECUTION_MODE": "<ADB_EXECUTION_MODE>",
        "ADB_ALLOW_SHELL": "<ADB_ALLOW_SHELL>",
        "ADB_PATH": "<ADB_PATH>",
        "ADB_EXTRA_TOOL_PACKS": "<ADB_EXTRA_TOOL_PACKS>",
        "ADB_DENIED_TOOLS": "<ADB_DENIED_TOOLS>",
        "ADB_SHELL_ALLOWLIST": "<ADB_SHELL_ALLOWLIST>",
        "ADB_SHELL_DENYLIST": "<ADB_SHELL_DENYLIST>",
        "MCP_LOG_ENABLED": "<MCP_LOG_ENABLED>",
        "MCP_LOG_DIR": "<MCP_LOG_DIR>",
        "ADB_LOG_LEVEL": "<ADB_LOG_LEVEL>",
        "ADB_COMMAND_TIMEOUT": "<ADB_COMMAND_TIMEOUT>",
        "ADB_SCREENSHOT_TIMEOUT": "<ADB_SCREENSHOT_TIMEOUT>",
        "ADB_UI_CHANGE_TIMEOUT": "<ADB_UI_CHANGE_TIMEOUT>",
        "ADB_UI_CHANGE_POLL_INTERVAL": "<ADB_UI_CHANGE_POLL_INTERVAL>",
        "ADB_AAPT_TIMEOUT": "<ADB_AAPT_TIMEOUT>",
        "ADB_CONFIG_SOURCE": "<ADB_CONFIG_SOURCE>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-droid-bridge": {
      "command": "uvx",
      "args": [
        "agent-droid-bridge==0.6.1"
      ],
      "env": {
        "ADB_EXECUTION_MODE": "<ADB_EXECUTION_MODE>",
        "ADB_ALLOW_SHELL": "<ADB_ALLOW_SHELL>",
        "ADB_PATH": "<ADB_PATH>",
        "ADB_EXTRA_TOOL_PACKS": "<ADB_EXTRA_TOOL_PACKS>",
        "ADB_DENIED_TOOLS": "<ADB_DENIED_TOOLS>",
        "ADB_SHELL_ALLOWLIST": "<ADB_SHELL_ALLOWLIST>",
        "ADB_SHELL_DENYLIST": "<ADB_SHELL_DENYLIST>",
        "MCP_LOG_ENABLED": "<MCP_LOG_ENABLED>",
        "MCP_LOG_DIR": "<MCP_LOG_DIR>",
        "ADB_LOG_LEVEL": "<ADB_LOG_LEVEL>",
        "ADB_COMMAND_TIMEOUT": "<ADB_COMMAND_TIMEOUT>",
        "ADB_SCREENSHOT_TIMEOUT": "<ADB_SCREENSHOT_TIMEOUT>",
        "ADB_UI_CHANGE_TIMEOUT": "<ADB_UI_CHANGE_TIMEOUT>",
        "ADB_UI_CHANGE_POLL_INTERVAL": "<ADB_UI_CHANGE_POLL_INTERVAL>",
        "ADB_AAPT_TIMEOUT": "<ADB_AAPT_TIMEOUT>",
        "ADB_CONFIG_SOURCE": "<ADB_CONFIG_SOURCE>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "agent-droid-bridge": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "agent-droid-bridge==0.6.1"
      ],
      "env": {
        "ADB_EXECUTION_MODE": "<ADB_EXECUTION_MODE>",
        "ADB_ALLOW_SHELL": "<ADB_ALLOW_SHELL>",
        "ADB_PATH": "<ADB_PATH>",
        "ADB_EXTRA_TOOL_PACKS": "<ADB_EXTRA_TOOL_PACKS>",
        "ADB_DENIED_TOOLS": "<ADB_DENIED_TOOLS>",
        "ADB_SHELL_ALLOWLIST": "<ADB_SHELL_ALLOWLIST>",
        "ADB_SHELL_DENYLIST": "<ADB_SHELL_DENYLIST>",
        "MCP_LOG_ENABLED": "<MCP_LOG_ENABLED>",
        "MCP_LOG_DIR": "<MCP_LOG_DIR>",
        "ADB_LOG_LEVEL": "<ADB_LOG_LEVEL>",
        "ADB_COMMAND_TIMEOUT": "<ADB_COMMAND_TIMEOUT>",
        "ADB_SCREENSHOT_TIMEOUT": "<ADB_SCREENSHOT_TIMEOUT>",
        "ADB_UI_CHANGE_TIMEOUT": "<ADB_UI_CHANGE_TIMEOUT>",
        "ADB_UI_CHANGE_POLL_INTERVAL": "<ADB_UI_CHANGE_POLL_INTERVAL>",
        "ADB_AAPT_TIMEOUT": "<ADB_AAPT_TIMEOUT>",
        "ADB_CONFIG_SOURCE": "<ADB_CONFIG_SOURCE>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
ADB_EXECUTION_MODE
Optional
Security mode. 'unrestricted' allows all shell commands with an optional denylist. 'restricted' allows only commands in ADB_SHELL_ALLOWLIST.
ADB_ALLOW_SHELL
Optional
Set to 'false' to block all adb shell commands regardless of execution mode.
ADB_PATH
Optional
Path to the ADB binary. Use a full path if adb is not on your system PATH.
ADB_EXTRA_TOOL_PACKS
Optional
Comma-separated list of extra tool packs to load. Set to 'app_manager' to enable 9 additional app management tools.
ADB_DENIED_TOOLS
Optional
Comma-separated list of tool names to hide from the agent at startup.
ADB_SHELL_ALLOWLIST
Optional
Comma-separated list of shell commands permitted in restricted mode. Empty blocks all shell commands.
ADB_SHELL_DENYLIST
Optional
Comma-separated list of shell commands blocked in unrestricted mode.
MCP_LOG_ENABLED
Optional
Set to 'true' to enable session logging. Requires MCP_LOG_DIR.
MCP_LOG_DIR
Optional
Absolute path to the directory where session logs are written. Required when MCP_LOG_ENABLED is true.
ADB_LOG_LEVEL
Optional
Server process log level.
ADB_COMMAND_TIMEOUT
Optional
Maximum seconds to wait for any ADB command.
ADB_SCREENSHOT_TIMEOUT
Optional
Maximum seconds to wait for a screenshot capture.
ADB_UI_CHANGE_TIMEOUT
Optional
Default timeout in seconds for detect_ui_change.
ADB_UI_CHANGE_POLL_INTERVAL
Optional
How often in seconds detect_ui_change polls the UI hierarchy.
ADB_AAPT_TIMEOUT
Optional
Maximum seconds to wait for aapt dump badging, used by the app_manager pack.
ADB_CONFIG_SOURCE
Optional
Set to 'yaml' to load configuration from adb_config.yaml instead of environment variables.

Details

Package[email protected] (PYPI, stdio)
First published15 Apr 2026
Last updated15 Apr 2026
Registry nameio.github.Neverlow512/agent-droid-bridge

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.