ADB MCP Server

Interactúa con dispositivos Android usando el Android Debug Bridge (ADB).

Documentación

ARCHIVADO -- Usa mobile-device-mcp

Me sorprende bastante que este repositorio haya alcanzado 50 estrellas (!) el ecosistema a veces es muy generoso, ¡gracias por darle estrella!

He estado trabajando en algo más rápido, más escalable y que también funciona con iOS, échale un vistazo a mobile-device-mcp.

¡Y deja algunas ⭐ también :)

Servidor ADB MCP

smithery badge

Un servidor MCP (Protocolo de Contexto de Modelo) para interactuar con dispositivos Android a través de ADB. Esta herramienta basada en TypeScript proporciona un puente entre los modelos de IA y la funcionalidad de los dispositivos Android.

Características

  • 📱 Gestión de Dispositivos - Lista e interactúa con dispositivos Android conectados
  • 📦 Instalación de Aplicaciones - Implementa archivos APK en dispositivos conectados
  • 📋 Registros - Accede a los registros del dispositivo a través de logcat
  • 🔄 Transferencia de Archivos - Envía y recibe archivos entre el dispositivo y el host
  • 📸 Interacción con la Interfaz - Captura capturas de pantalla y analiza la jerarquía de la interfaz
  • 🔧 Ejecución de Comandos Shell - Ejecuta comandos personalizados en el dispositivo

Requisitos Previos

  • Node.js (v16 o superior recomendado, probado con Node.js v16, v18 y v20)
  • ADB (Android Debug Bridge) instalado y en tu PATH
  • Un dispositivo Android o emulador conectado por USB o red con depuración USB habilitada
  • Permiso para acceder al dispositivo (autorización de depuración aceptada en el dispositivo)

Instalación

Instalación mediante Smithery

Para instalar ADB Android Device Server para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install @srmorete/adb-mcp --client claude

Instalación Manual

# Clone the repository
git clone https://github.com/srmorete/adb-mcp.git
cd adb-mcp

# Install dependencies
npm install

# Build the TypeScript code
npm run build

# Run the server
npx adb-mcp

Configuración

Configuración de la Ruta de ADB

El servidor utiliza rutas ADB predeterminadas. Para una ubicación ADB personalizada:

export ADB_PATH=/path/to/adb
npx adb-mcp

Configuración de MCP

Añade la configuración del servidor ADB MCP:

{
  "mcpServers": {
    "adb": {
      "command": "npx",
      "args": [
        "adb-mcp"
      ]
    }
  }
}

Uso

Iniciar el Servidor

IMPORTANTE: El servidor debe estar ejecutándose antes de usar cualquier herramienta ADB.

Inicia el servidor usando:

npx adb-mcp

Deberías ver:

[INFO] ADB MCP Server connected and ready

Mantén esta ventana de terminal abierta mientras usas las herramientas ADB.

Herramientas Disponibles

Todas las herramientas están disponibles con la siguiente convención de nombres:

📱 Gestión de Dispositivos

  • adb_devices - Lista los dispositivos conectados
  • adb_shell - Ejecuta comandos shell en un dispositivo

📦 Gestión de Aplicaciones

  • adb_install - Instala un archivo APK usando una ruta de archivo local
  • adb_package_manager - Ejecuta comandos del Administrador de Paquetes (pm) - lista paquetes, otorga/revoca permisos, gestiona aplicaciones
  • adb_activity_manager - Ejecuta comandos del Administrador de Actividades (am) - inicia actividades, transmite intenciones, controla el comportamiento de las aplicaciones

📋 Registros

  • adb_logcat - Ve los registros del dispositivo con filtrado opcional

🔄 Transferencia de Archivos

  • adb_pull - Extrae archivos de un dispositivo
  • adb_push - Envía archivos a un dispositivo

🔍 Interacción con la Interfaz

  • dump_image - Toma una captura de pantalla de la pantalla actual
  • inspect_ui - Obtiene la jerarquía de la interfaz en formato XML (más útil para la interacción con IA)

Solución de Problemas

Si las herramientas no funcionan:

  • Problemas del Servidor:

    • Asegúrate de que el servidor esté ejecutándose (npx adb-mcp)
    • Revisa la salida del servidor para ver mensajes de error
    • Prueba con registros detallados: LOG_LEVEL=3 npx adb-mcp
    • Mata procesos colgados:
      • ps aux | grep "adb-mcp" | grep -v grep
      • luego kill -9 [PID]
  • Conexión del Dispositivo:

    • Verifica la conexión con adb_devices
    • Si aparece "no autorizado", acepta la autorización de depuración en el dispositivo
    • Revisa las conexiones USB/red
    • Intenta reiniciar ADB: adb kill-server && adb start-server
  • Problemas de ADB:

    • Verifica la instalación de ADB: adb version
  • Configuración del Dispositivo:

    • Usa un emulador (fue construido usando uno), para dispositivos reales quizás prueba esto:
      • Asegúrate de que la depuración USB esté habilitada
      • Para versiones más recientes de Android, habilita "Depuración USB (configuración de seguridad)"
      • Prueba con un puerto USB o cable diferente
      • o avísame en un issue

Compatibilidad

  • Android 8.0 y superior
  • Clientes MCP incluyendo Claude en el IDE Cursor
  • Fue construido en macOS pero debería funcionar en cualquier sistema compatible con POSIX (Linux, etc.).
  • No se probó en Windows pero quizás funcione.

Contribuciones

  • ¡Las contribuciones son bienvenidas! Envía una Solicitud de Extracción.
  • Para cambios importantes, abre un issue para discutirlo primero.
  • También puedes, por supuesto, hacer un fork
  • Nota: este proyecto fue vibe-coded así que si ves algo raro... bueno, ahora lo sabes 🙂

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

Agradecimientos