agent-droid-bridge

Agent Droid Bridge otorga a los agentes de IA control programático sobre dispositivos Android y emuladores a través de ADB, expuesto como un servidor MCP.

Documentación

Python 3.11+ License MIT MCP Compatible PyPI MCP Registry Awesome PyPI Downloads LinkedIn Ask DeepWiki

Agent Droid Bridge

Agent Droid Bridge es un servidor MCP que conecta agentes de IA a dispositivos Android y emuladores a través de ADB. Está diseñado para automatización móvil, pruebas de aplicaciones, análisis dinámico e ingeniería inversa: expone toda la superficie de ADB como herramientas estructuradas que cualquier cliente de IA compatible con MCP puede llamar directamente. Si ADB puede hacerlo, un agente puede hacerlo.


Las herramientas diseñadas específicamente devuelven respuestas estructuradas y mínimas. Sin volcados XML crudos, sin contexto desperdiciado: los agentes se mantienen rápidos en sesiones largas.

agent-droid-bridge MCP server

Demo

Agent Droid Bridge Demo

La demo anterior ejecuta algunas tareas sencillas para mostrar lo que un agente conectado puede hacer, y esto es solo la punta del iceberg:

  • Instala la aplicación Paint, la abre y dibuja una casa calculando coordenadas de píxeles para las paredes y el techo
  • Abre el navegador del dispositivo, busca "MCP Wikipedia", navega a la página de resultados y toma una captura de pantalla
  • Abre la Calculadora, calcula 1337 × 42 y extrae el resultado a la máquina anfitriona
  • Abre Contactos, crea una nueva entrada con nombre y número de teléfono, y confirma que se guardó
  • Abre el Calendario y programa una cita para una fecha específica
  • Abre Configuración y activa el modo oscuro
  • Extrae el APK de la Calculadora del dispositivo a la máquina anfitriona
  • Instala Notepad, escribe un resumen de una oración de cada tarea completada y toma una captura de pantalla final

Qué hace

Herramientas

  • 14 herramientas integradas para captura de pantalla, inspección de interfaz, lectura de texto, extracción de elementos, entrada táctil y deslizamiento, entrada de texto, eventos de teclas, lanzamiento de aplicaciones, comandos ADB e inspección de dispositivos
  • El paquete app_manager añade 9 herramientas para gestión de paquetes, ciclo de vida de aplicaciones, extracción de APK, permisos e inyección de intents. Cárgalo con ADB_EXTRA_TOOL_PACKS=app_manager
  • La disponibilidad de herramientas se refleja en las instrucciones de inicio del servidor. Los agentes reciben un catálogo preciso al momento de la conexión

Manejo de dispositivos

  • Detecta automáticamente un único dispositivo conectado; solicita selección cuando hay múltiples dispositivos presentes
  • Se ejecuta sobre stdio, compatible con cualquier cliente de IA compatible con MCP
  • Respuestas estructuradas en lugar de volcados XML crudos, manteniendo el contexto del agente ágil en ejecuciones de automatización largas

Seguridad

  • Dos modos de ejecución: unrestricted (acceso completo a ADB, lista de denegación opcional) y restricted (solo lista de permitidos, bloquea todo lo que no esté explícitamente permitido)
  • Establece ADB_ALLOW_SHELL=false para deshabilitar todos los comandos de shell independientemente del modo
  • Oculta herramientas específicas del agente con ADB_DENIED_TOOLS
  • Todos los comandos se analizan mediante shlex. No es posible la inyección de shell

Observabilidad

  • Un grabador de sesión opcional registra cada llamada de herramienta, comando ADB y evento de seguridad en archivos JSONL estructurados. Actívalo con MCP_LOG_ENABLED=true y MCP_LOG_DIR

Casos de uso

QA móvil y automatización de pruebas Automatiza flujos de interfaz en dispositivos reales y emuladores sin modificar la aplicación ni escribir código de prueba. Toca, desliza, escribe, lee contenido de pantalla, toma capturas de pantalla: todo desde un prompt en lenguaje natural.

Investigación de seguridad de aplicaciones Extrae APKs, inspecciona permisos declarados, dispara intents arbitrarios y observa el comportamiento en tiempo de ejecución en pantalla. Sin instrumentación, sin necesidad de jailbreak.

Análisis dinámico Lanza aplicaciones en estados controlados, impulsa interacciones de interfaz, captura el estado de pantalla en cada paso y extrae artefactos: todo programable a través de un agente de IA.

Desarrollo y depuración Instala builds, verifica estados de interfaz, consulta información de aplicaciones y ejecuta comandos ADB sin salir de tu entorno de codificación.

Instalación

uvx agent-droid-bridge

No se necesita clonar ni entornos virtuales. Requiere Python 3.11+ y ADB instalado en tu máquina anfitriona.

uvx lo proporciona uv. Si no lo tienes: curl -LsSf https://astral.sh/uv/install.sh | sh

Para instalar desde el código fuente en su lugar, consulta docs/setup.md — Opción B.

Para verificar la instalación: uvx agent-droid-bridge --help

Inicio rápido

  1. Instala ADB — consulta docs/setup.md para instrucciones específicas por plataforma
  2. Conecta un dispositivo Android o inicia un emulador
  3. Añade el servidor a la configuración de tu cliente MCP:
{
  "mcpServers": {
    "agent-droid-bridge": {
      "command": "uvx",
      "args": ["agent-droid-bridge"],
      "env": {
        "ADB_EXECUTION_MODE": "unrestricted",
        "ADB_ALLOW_SHELL": "true",
        "ADB_PATH": "adb",
        "ADB_EXTRA_TOOL_PACKS": "",
        "MCP_LOG_ENABLED": "false",
        "MCP_LOG_DIR": "~/logs/agent-droid-bridge"
      }
    }
  }
}

Para habilitar el registro de sesión, establece MCP_LOG_ENABLED a "true" y actualiza MCP_LOG_DIR a una ruta escribible en tu máquina.

VariablePredeterminadoDescripción
ADB_EXECUTION_MODEunrestrictedModo de seguridad. unrestricted permite todos los comandos de shell (con lista de denegación opcional); restricted permite solo comandos en ADB_SHELL_ALLOWLIST.
ADB_ALLOW_SHELLtrueEstablece a false para bloquear todos los comandos adb shell independientemente del modo de ejecución.
ADB_PATHadbRuta al binario de ADB. Reemplázala con una ruta completa si adb no está en tu PATH del sistema (por ejemplo, C:\platform-tools\adb.exe en Windows).
ADB_EXTRA_TOOL_PACKS(vacío)Lista separada por comas de paquetes de herramientas adicionales para cargar. Establece a app_manager para habilitar 9 herramientas adicionales de gestión de aplicaciones.
MCP_LOG_ENABLEDfalseEstablece a true para habilitar el registro de sesión. Requiere MCP_LOG_DIR.
MCP_LOG_DIR(ninguno)Directorio donde se escriben los registros de sesión. Requerido cuando MCP_LOG_ENABLED es true.
  1. Indica a tu agente que use las herramientas MCP agent-droid-bridge

Guía de configuración completa y referencia de variables de entorno: docs/setup.md

Herramientas

HerramientaQué hace
get_ui_hierarchyDevuelve la pantalla actual como jerarquía de interfaz XML
take_screenshotCaptura la pantalla como PNG codificado en base64
tap_screenEnvía un gesto de toque en coordenadas de píxeles
swipe_screenEnvía un gesto de deslizamiento entre dos puntos durante una duración determinada
type_textEscribe texto en el campo de entrada enfocado
press_keyEnvía un evento de tecla Android (Atrás, Inicio, Enter, etc.)
launch_appLanza una aplicación por su nombre de componente package/activity
execute_adb_commandEjecuta un comando ADB o ADB shell arbitrario
list_devicesLista todos los dispositivos Android visibles actualmente para ADB con su serial, estado y modelo
snapshot_uiToma una instantánea ligera de la interfaz y devuelve un token para usar con detect_ui_change
detect_ui_changeConsulta cambios de interfaz después de una acción; acepta un token de instantánea como línea base; devuelve la jerarquía solo cuando se solicita
get_screen_elementsAnaliza la jerarquía de interfaz y devuelve elementos estructurados con coordenadas y propiedades de interacción; admite modos tappable, interactive, input y all
get_screen_textDevuelve todo el texto visible en pantalla ordenado de arriba a abajo, como texto plano
check_device_capabilitiesDevuelve información estructurada del dispositivo — identidad, postura de seguridad y especificaciones de hardware — en una sola llamada; admite modos identity, security, hardware y all

Paquetes de herramientas adicionales

Los paquetes opcionales amplían el conjunto de herramientas principal. Actívalos estableciendo ADB_EXTRA_TOOL_PACKS en la configuración de tu cliente MCP. Consulta docs/extra-tool-packs.md.

app_manager

Gestión de paquetes, control del ciclo de vida de aplicaciones, extracción de APK, gestión de permisos e inyección de intents.

HerramientaQué hace
list_packagesLista paquetes instalados con filtrado, búsqueda y niveles de detalle opcionales
get_app_infoDevuelve metadatos estáticos completos para una sola aplicación instalada
install_appInstala un APK desde una ruta del host en el dispositivo
uninstall_appElimina una aplicación instalada por nombre de paquete
pull_apkExtrae el APK instalado del dispositivo al host
manage_permissionOtorga, revoca, verifica o lista permisos de tiempo de ejecución para una aplicación
launch_app_extraLanza una aplicación por nombre de paquete, resolviendo automáticamente la actividad de lanzador
manage_appControla el estado de tiempo de ejecución de la aplicación — detener, borrar datos, borrar caché, habilitar, deshabilitar
inject_intentDispara un intent a un componente mediante am start, am broadcast o am startservice

Referencia completa de parámetros: docs/tools.md

Configuración

Configura el servidor completamente desde el bloque env de tu cliente MCP. No hay archivos que editar. El bloque de entorno del Inicio rápido anterior cubre la mayoría de los ajustes comunes. Para la referencia completa, incluidos filtros de seguridad, visibilidad de herramientas y tiempos de espera, consulta docs/configuration.md.

Para usar un archivo de configuración YAML en su lugar, establece ADB_CONFIG_SOURCE=yaml. Consulta docs/configuration.md para más detalles.

La grabación de sesión es independiente. Actívala con MCP_LOG_ENABLED=true y MCP_LOG_DIR. Referencia completa: docs/logging.md.

Documentación

ArchivoDescripción
docs/setup.mdRequisitos previos, instalación y configuración del cliente MCP
docs/tools.mdReferencia completa de parámetros para todas las herramientas
docs/configuration.mdReferencia de variables de entorno y adb_config.yaml
docs/logging.mdGrabador de sesión — archivos de registro, niveles, retención y activación
docs/extra-tool-packs.mdPaquetes de herramientas adicionales — activación de paquetes, el contrato de paquetes y cómo escribir los tuyos
docs/troubleshooting.mdProblemas comunes de configuración y problemas de ADB
docs/workflows.mdFlujos de trabajo comunes con múltiples herramientas y ejemplos
CHANGELOG.mdHistorial de versiones y cambios

Contribuciones

Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md para las pautas sobre configuración, estándares de código y envío de solicitudes de extracción. Para reportar una vulnerabilidad de seguridad, sigue el proceso en SECURITY.md — no abras un issue público.