PluginBench
MCP Server
Active
MIT

Agent Droid Bridge MCP Server

io.github.Neverlow512/agent-droid-bridge

What is the Agent Droid Bridge MCP server?

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

How to install Agent Droid Bridge

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • ADB_EXECUTION_MODE

    Security mode. 'unrestricted' allows all shell commands with an optional denylist. 'restricted' allows only commands in ADB_SHELL_ALLOWLIST.

  • ADB_ALLOW_SHELL

    Set to 'false' to block all adb shell commands regardless of execution mode.

  • ADB_PATH

    Path to the ADB binary. Use a full path if adb is not on your system PATH.

  • ADB_EXTRA_TOOL_PACKS

    Comma-separated list of extra tool packs to load. Set to 'app_manager' to enable 9 additional app management tools.

  • ADB_DENIED_TOOLS

    Comma-separated list of tool names to hide from the agent at startup.

  • ADB_SHELL_ALLOWLIST

    Comma-separated list of shell commands permitted in restricted mode. Empty blocks all shell commands.

  • ADB_SHELL_DENYLIST

    Comma-separated list of shell commands blocked in unrestricted mode.

  • MCP_LOG_ENABLED

    Set to 'true' to enable session logging. Requires MCP_LOG_DIR.

  • MCP_LOG_DIR

    Absolute path to the directory where session logs are written. Required when MCP_LOG_ENABLED is true.

  • ADB_LOG_LEVEL

    Server process log level.

  • ADB_COMMAND_TIMEOUT

    Maximum seconds to wait for any ADB command.

  • ADB_SCREENSHOT_TIMEOUT

    Maximum seconds to wait for a screenshot capture.

  • ADB_UI_CHANGE_TIMEOUT

    Default timeout in seconds for detect_ui_change.

  • ADB_UI_CHANGE_POLL_INTERVAL

    How often in seconds detect_ui_change polls the UI hierarchy.

  • ADB_AAPT_TIMEOUT

    Maximum seconds to wait for aapt dump badging, used by the app_manager pack.

  • ADB_CONFIG_SOURCE

    Set to 'yaml' to load configuration from adb_config.yaml instead of environment variables.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "agent-droid-bridge": {
      "command": "uvx",
      "args": [
        "agent-droid-bridge"
      ],
      "env": {
        "ADB_EXECUTION_MODE": "<YOUR_ADB_EXECUTION_MODE>",
        "ADB_ALLOW_SHELL": "<YOUR_ADB_ALLOW_SHELL>",
        "ADB_PATH": "<YOUR_ADB_PATH>",
        "ADB_EXTRA_TOOL_PACKS": "<YOUR_ADB_EXTRA_TOOL_PACKS>",
        "ADB_DENIED_TOOLS": "<YOUR_ADB_DENIED_TOOLS>",
        "ADB_SHELL_ALLOWLIST": "<YOUR_ADB_SHELL_ALLOWLIST>",
        "ADB_SHELL_DENYLIST": "<YOUR_ADB_SHELL_DENYLIST>",
        "MCP_LOG_ENABLED": "<YOUR_MCP_LOG_ENABLED>",
        "MCP_LOG_DIR": "<YOUR_MCP_LOG_DIR>",
        "ADB_LOG_LEVEL": "<YOUR_ADB_LOG_LEVEL>",
        "ADB_COMMAND_TIMEOUT": "<YOUR_ADB_COMMAND_TIMEOUT>",
        "ADB_SCREENSHOT_TIMEOUT": "<YOUR_ADB_SCREENSHOT_TIMEOUT>",
        "ADB_UI_CHANGE_TIMEOUT": "<YOUR_ADB_UI_CHANGE_TIMEOUT>",
        "ADB_UI_CHANGE_POLL_INTERVAL": "<YOUR_ADB_UI_CHANGE_POLL_INTERVAL>",
        "ADB_AAPT_TIMEOUT": "<YOUR_ADB_AAPT_TIMEOUT>",
        "ADB_CONFIG_SOURCE": "<YOUR_ADB_CONFIG_SOURCE>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-droid-bridge": {
      "command": "uvx",
      "args": [
        "agent-droid-bridge"
      ],
      "env": {
        "ADB_EXECUTION_MODE": "<YOUR_ADB_EXECUTION_MODE>",
        "ADB_ALLOW_SHELL": "<YOUR_ADB_ALLOW_SHELL>",
        "ADB_PATH": "<YOUR_ADB_PATH>",
        "ADB_EXTRA_TOOL_PACKS": "<YOUR_ADB_EXTRA_TOOL_PACKS>",
        "ADB_DENIED_TOOLS": "<YOUR_ADB_DENIED_TOOLS>",
        "ADB_SHELL_ALLOWLIST": "<YOUR_ADB_SHELL_ALLOWLIST>",
        "ADB_SHELL_DENYLIST": "<YOUR_ADB_SHELL_DENYLIST>",
        "MCP_LOG_ENABLED": "<YOUR_MCP_LOG_ENABLED>",
        "MCP_LOG_DIR": "<YOUR_MCP_LOG_DIR>",
        "ADB_LOG_LEVEL": "<YOUR_ADB_LOG_LEVEL>",
        "ADB_COMMAND_TIMEOUT": "<YOUR_ADB_COMMAND_TIMEOUT>",
        "ADB_SCREENSHOT_TIMEOUT": "<YOUR_ADB_SCREENSHOT_TIMEOUT>",
        "ADB_UI_CHANGE_TIMEOUT": "<YOUR_ADB_UI_CHANGE_TIMEOUT>",
        "ADB_UI_CHANGE_POLL_INTERVAL": "<YOUR_ADB_UI_CHANGE_POLL_INTERVAL>",
        "ADB_AAPT_TIMEOUT": "<YOUR_ADB_AAPT_TIMEOUT>",
        "ADB_CONFIG_SOURCE": "<YOUR_ADB_CONFIG_SOURCE>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "agent-droid-bridge": {
      "command": "uvx",
      "args": [
        "agent-droid-bridge"
      ],
      "env": {
        "ADB_EXECUTION_MODE": "<YOUR_ADB_EXECUTION_MODE>",
        "ADB_ALLOW_SHELL": "<YOUR_ADB_ALLOW_SHELL>",
        "ADB_PATH": "<YOUR_ADB_PATH>",
        "ADB_EXTRA_TOOL_PACKS": "<YOUR_ADB_EXTRA_TOOL_PACKS>",
        "ADB_DENIED_TOOLS": "<YOUR_ADB_DENIED_TOOLS>",
        "ADB_SHELL_ALLOWLIST": "<YOUR_ADB_SHELL_ALLOWLIST>",
        "ADB_SHELL_DENYLIST": "<YOUR_ADB_SHELL_DENYLIST>",
        "MCP_LOG_ENABLED": "<YOUR_MCP_LOG_ENABLED>",
        "MCP_LOG_DIR": "<YOUR_MCP_LOG_DIR>",
        "ADB_LOG_LEVEL": "<YOUR_ADB_LOG_LEVEL>",
        "ADB_COMMAND_TIMEOUT": "<YOUR_ADB_COMMAND_TIMEOUT>",
        "ADB_SCREENSHOT_TIMEOUT": "<YOUR_ADB_SCREENSHOT_TIMEOUT>",
        "ADB_UI_CHANGE_TIMEOUT": "<YOUR_ADB_UI_CHANGE_TIMEOUT>",
        "ADB_UI_CHANGE_POLL_INTERVAL": "<YOUR_ADB_UI_CHANGE_POLL_INTERVAL>",
        "ADB_AAPT_TIMEOUT": "<YOUR_ADB_AAPT_TIMEOUT>",
        "ADB_CONFIG_SOURCE": "<YOUR_ADB_CONFIG_SOURCE>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "agent-droid-bridge": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "agent-droid-bridge"
      ],
      "env": {
        "ADB_EXECUTION_MODE": "<YOUR_ADB_EXECUTION_MODE>",
        "ADB_ALLOW_SHELL": "<YOUR_ADB_ALLOW_SHELL>",
        "ADB_PATH": "<YOUR_ADB_PATH>",
        "ADB_EXTRA_TOOL_PACKS": "<YOUR_ADB_EXTRA_TOOL_PACKS>",
        "ADB_DENIED_TOOLS": "<YOUR_ADB_DENIED_TOOLS>",
        "ADB_SHELL_ALLOWLIST": "<YOUR_ADB_SHELL_ALLOWLIST>",
        "ADB_SHELL_DENYLIST": "<YOUR_ADB_SHELL_DENYLIST>",
        "MCP_LOG_ENABLED": "<YOUR_MCP_LOG_ENABLED>",
        "MCP_LOG_DIR": "<YOUR_MCP_LOG_DIR>",
        "ADB_LOG_LEVEL": "<YOUR_ADB_LOG_LEVEL>",
        "ADB_COMMAND_TIMEOUT": "<YOUR_ADB_COMMAND_TIMEOUT>",
        "ADB_SCREENSHOT_TIMEOUT": "<YOUR_ADB_SCREENSHOT_TIMEOUT>",
        "ADB_UI_CHANGE_TIMEOUT": "<YOUR_ADB_UI_CHANGE_TIMEOUT>",
        "ADB_UI_CHANGE_POLL_INTERVAL": "<YOUR_ADB_UI_CHANGE_POLL_INTERVAL>",
        "ADB_AAPT_TIMEOUT": "<YOUR_ADB_AAPT_TIMEOUT>",
        "ADB_CONFIG_SOURCE": "<YOUR_ADB_CONFIG_SOURCE>"
      }
    }
  }
}
Claude Code
claude mcp add agent-droid-bridge --env ADB_EXECUTION_MODE=<YOUR_ADB_EXECUTION_MODE> --env ADB_ALLOW_SHELL=<YOUR_ADB_ALLOW_SHELL> --env ADB_PATH=<YOUR_ADB_PATH> --env ADB_EXTRA_TOOL_PACKS=<YOUR_ADB_EXTRA_TOOL_PACKS> --env ADB_DENIED_TOOLS=<YOUR_ADB_DENIED_TOOLS> --env ADB_SHELL_ALLOWLIST=<YOUR_ADB_SHELL_ALLOWLIST> --env ADB_SHELL_DENYLIST=<YOUR_ADB_SHELL_DENYLIST> --env MCP_LOG_ENABLED=<YOUR_MCP_LOG_ENABLED> --env MCP_LOG_DIR=<YOUR_MCP_LOG_DIR> --env ADB_LOG_LEVEL=<YOUR_ADB_LOG_LEVEL> --env ADB_COMMAND_TIMEOUT=<YOUR_ADB_COMMAND_TIMEOUT> --env ADB_SCREENSHOT_TIMEOUT=<YOUR_ADB_SCREENSHOT_TIMEOUT> --env ADB_UI_CHANGE_TIMEOUT=<YOUR_ADB_UI_CHANGE_TIMEOUT> --env ADB_UI_CHANGE_POLL_INTERVAL=<YOUR_ADB_UI_CHANGE_POLL_INTERVAL> --env ADB_AAPT_TIMEOUT=<YOUR_ADB_AAPT_TIMEOUT> --env ADB_CONFIG_SOURCE=<YOUR_ADB_CONFIG_SOURCE> -- uvx agent-droid-bridge

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →