MCP Server
MCP
Agent Droid Bridge
MCP server giving AI agents eyes and hands inside Android devices via ADB
Install
uvx agent-droid-bridge
Configuration Example
{
"remotes": [],
"packages": [
{
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"identifier": "agent-droid-bridge",
"version": "0.6.1",
"runtimeHint": "uvx",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Security mode. 'unrestricted' allows all shell commands with an optional denylist. 'restricted' allows only commands in ADB_SHELL_ALLOWLIST.",
"default": "unrestricted",
"choices": [
"unrestricted",
"restricted"
],
"name": "ADB_EXECUTION_MODE"
},
{
"description": "Set to 'false' to block all adb shell commands regardless of execution mode.",
"format": "boolean",
"default": "true",
"name": "ADB_ALLOW_SHELL"
},
{
"description": "Path to the ADB binary. Use a full path if adb is not on your system PATH.",
"default": "adb",
"placeholder": "/usr/bin/adb or C:\\platform-tools\\adb.exe",
"name": "ADB_PATH"
},
{
"description": "Comma-separated list of extra tool packs to load. Set to 'app_manager' to enable 9 additional app management tools.",
"placeholder": "app_manager",
"name": "ADB_EXTRA_TOOL_PACKS"
},
{
"description": "Comma-separated list of tool names to hide from the agent at startup.",
"placeholder": "execute_adb_command,get_ui_hierarchy",
"name": "ADB_DENIED_TOOLS"
},
{
"description": "Comma-separated list of shell commands permitted in restricted mode. Empty blocks all shell commands.",
"placeholder": "dumpsys,pm,am",
"name": "ADB_SHELL_ALLOWLIST"
},
{
"description": "Comma-separated list of shell commands blocked in unrestricted mode.",
"placeholder": "rm,reboot,su",
"name": "ADB_SHELL_DENYLIST"
},
{
"description": "Set to 'true' to enable session logging. Requires MCP_LOG_DIR.",
"format": "boolean",
"default": "false",
"name": "MCP_LOG_ENABLED"
},
{
"description": "Absolute path to the directory where session logs are written. Required when MCP_LOG_ENABLED is true.",
"format": "filepath",
"placeholder": "/home/user/logs/agent-droid-bridge",
"name": "MCP_LOG_DIR"
},
{
"description": "Server process log level.",
"default": "INFO",
"choices": [
"DEBUG",
"INFO",
"WARNING",
"ERROR",
"CRITICAL"
],
"name": "ADB_LOG_LEVEL"
},
{
"description": "Maximum seconds to wait for any ADB command.",
"format": "number",
"default": "30",
"name": "ADB_COMMAND_TIMEOUT"
},
{
"description": "Maximum seconds to wait for a screenshot capture.",
"format": "number",
"default": "60",
"name": "ADB_SCREENSHOT_TIMEOUT"
},
{
"description": "Default timeout in seconds for detect_ui_change.",
"format": "number",
"default": "10",
"name": "ADB_UI_CHANGE_TIMEOUT"
},
{
"description": "How often in seconds detect_ui_change polls the UI hierarchy.",
"format": "number",
"default": "0.5",
"name": "ADB_UI_CHANGE_POLL_INTERVAL"
},
{
"description": "Maximum seconds to wait for aapt dump badging, used by the app_manager pack.",
"format": "number",
"default": "10",
"name": "ADB_AAPT_TIMEOUT"
},
{
"description": "Set to 'yaml' to load configuration from adb_config.yaml instead of environment variables.",
"default": "env",
"choices": [
"env",
"yaml"
],
"name": "ADB_CONFIG_SOURCE"
}
]
}
]
}
mcp
model-context-protocol
pypi
By
Comments
Sign in to leave a comment