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
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 conectadosadb_shell- Ejecuta comandos shell en un dispositivo
📦 Gestión de Aplicaciones
adb_install- Instala un archivo APK usando una ruta de archivo localadb_package_manager- Ejecuta comandos del Administrador de Paquetes (pm) - lista paquetes, otorga/revoca permisos, gestiona aplicacionesadb_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 dispositivoadb_push- Envía archivos a un dispositivo
🔍 Interacción con la Interfaz
dump_image- Toma una captura de pantalla de la pantalla actualinspect_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]
- Asegúrate de que el servidor esté ejecutándose (
-
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
- Verifica la conexión con
-
Problemas de ADB:
- Verifica la instalación de ADB:
adb version
- Verifica la instalación de ADB:
-
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
- Usa un emulador (fue construido usando uno), para dispositivos reales quizás prueba esto:
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-codedasí 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
- Construido con Protocolo de Contexto de Modelo (MCP)