hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables control and interaction with Android devices through ADB, including device management, file system access, app installation, UI automation, system analysis, and debugging features.
Integrates with GitHub for repository management, allowing users to clone the DroidMind repository and contribute through GitHub's pull request workflow.
Integrates with Ko-fi for donations, allowing users to support the project creator by purchasing energy drinks.
✨ DroidMind 🤖
Controlar dispositivos Android con IA a través del Protocolo de Contexto de Modelo
DroidMind es un potente puente entre los asistentes de IA y los dispositivos Android, que permite el control, la depuración y el análisis de sistemas mediante lenguaje natural. Al implementar el Protocolo de Contexto de Modelo (MCP), DroidMind permite que los modelos de IA interactúen directamente con los dispositivos Android a través de ADB de forma segura y estructurada. Al utilizarse como parte de un flujo de trabajo de codificación con agentes, DroidMind permite que el asistente compile y depure con el dispositivo directamente en el bucle.
💫 Características
- 📱 Control de dispositivos : conéctese a dispositivos a través de USB o TCP/IP, ejecute comandos de shell, reinicie
- 📊 Análisis del sistema : inspeccione las propiedades del dispositivo, vea información del hardware, analice los registros del sistema
- 🔍 Acceso al sistema de archivos : explore el contenido del directorio y administre archivos en los dispositivos
- 📷 Diagnóstico visual : captura de pantalla del dispositivo para análisis y depuración
- 📦 Administración de aplicaciones : instalar, desinstalar, iniciar, detener y borrar datos de aplicaciones en dispositivos conectados
- 🔄 Compatibilidad con múltiples dispositivos : controle y cambie entre múltiples dispositivos conectados
- 👆 Automatización de la interfaz de usuario : interactúe con el dispositivo mediante toques, deslizamientos, ingreso de texto y pulsaciones de teclas.
- 🔍 Inspección de aplicaciones : vea manifiestos de aplicaciones, preferencias compartidas y registros específicos de la aplicación
- 🔒 Marco de seguridad : proteja los dispositivos con una validación de comandos integral
- 💬 Integración con MCP : conexión perfecta con Claude, Cursor, Cline y más
🚀 Instalación
📋 Requisitos previos
- Python 3.13 o superior
- Dispositivo Android con depuración USB habilitada
- ADB (Android Debug Bridge) instalado y en PATH
- Gestor de paquetes UV (recomendado para la gestión de dependencias)
- Para control de red: dispositivo Android con ADB sobre TCP/IP habilitado
🔮 Inicio rápido
Ejecutar el servidor DroidMind
Ejecute DroidMind como servidor para conectar asistentes de IA a través de MCP:
Uso con asistentes de IA
- Inicie DroidMind en modo SSE:Copy
- Conecte su asistente de IA utilizando la URI del protocolo MCP:Copy
- ¡La IA ahora puede controlar tus dispositivos Android a través del lenguaje natural!
🛠️ Recursos y herramientas de MCP disponibles
Recursos
devices://list
- Lista todos los dispositivos conectadosdevice://{serial}/properties
- Obtener propiedades detalladas del dispositivologs://{serial}/logcat
- Obtener registros recientes del dispositivologs://{serial}/anr
- Obtener rastros de aplicaciones que no responden (ANR)logs://{serial}/crashes
- Obtener registros de fallos de la aplicaciónlogs://{serial}/battery
- Obtener estadísticas e historial de la bateríalogs://{serial}/app/{package}
- Obtener registros específicos de la aplicaciónfs://{serial}/list/{path}
- Lista el contenido del directorio en el dispositivofs://{serial}/read/{path}
- Leer el contenido del archivo desde el dispositivofs://{serial}/stats/{path}
- Obtener estadísticas detalladas de archivos/directoriosapp://{serial}/{package}/manifest
- Obtener el contenido de AndroidManifest.xmlapp://{serial}/{package}/data
- Lista los archivos en el directorio de datos de la aplicaciónapp://{serial}/{package}/shared_prefs
- Obtener las preferencias compartidas de la aplicación
Herramientas
devicelist
- Lista todos los dispositivos Android conectadosdevice_properties
: obtiene las propiedades detalladas de un dispositivo específicodevice_logcat
: obtiene la salida reciente de logcat de un dispositivolist_directory
- Lista el contenido de un directorio en el dispositivoconnect_device
- Conectarse a un dispositivo a través de TCP/IPdisconnect_device
- Desconectarse de un dispositivo Androidshell_command
- Ejecuta un comando de shell en el dispositivoinstall_app
- Instalar un APK en el dispositivouninstall_app
- Desinstalar una aplicación del dispositivostart_app
- Iniciar una aplicación en el dispositivostop_app
- Fuerza la detención de una aplicación en el dispositivoclear_app_data
- Borrar datos y caché de la aplicaciónlist_packages
- Lista los paquetes instalados en el dispositivoget_app_manifest
: obtiene el contenido de AndroidManifest.xml para una aplicaciónget_app_permissions
- Obtener los permisos solicitados por una aplicaciónget_app_activities
- Obtener actividades definidas en una aplicaciónget_app_info
- Obtener información detallada sobre una aplicaciónreboot_device
- Reinicia el dispositivo (normal, recuperación o cargador de arranque)screenshot
- Obtener una captura de pantalla de un dispositivocapture_bugreport
: genera un informe de errores completo del dispositivodump_heap
- Crea un volcado de montón desde un proceso en ejecución para el análisis de memoriapush_file
- Sube un archivo al dispositivopull_file
- Descargar un archivo desde el dispositivodelete_file
- Elimina un archivo o directorio del dispositivocreate_directory
- Crea un directorio en el dispositivofile_exists
- Comprueba si existe un archivo en el dispositivoread_file
- Lee el contenido de un archivo en el dispositivowrite_file
- Escribe contenido de texto en un archivo en el dispositivofile_stats
- Obtener información detallada sobre un archivo o directoriotap
- Toca la pantalla del dispositivo en coordenadas específicasswipe
- Realizar un gesto de deslizar de un punto a otro en la pantallainput_text
- Ingrese texto en el dispositivo como si fuera un tecladopress_key
- Presiona una tecla de hardware o software (por ejemplo, INICIO, ATRÁS, VOLUMEN)start_intent
- Iniciar una actividad de la aplicación usando una intención de Android
📊 Ejemplos de consultas del Asistente de IA
Con un asistente de IA conectado a DroidMind, prueba estas consultas:
- "Enumera todos los dispositivos Android conectados y muéstrame sus propiedades"
- "Conéctate a mi teléfono en 192.168.1.100 y comprueba el estado de la batería"
- "Toma una captura de pantalla de mi Pixel y muéstrame qué hay en pantalla actualmente"
- "Comprobar el espacio de almacenamiento disponible en mi dispositivo"
- "Muéstrame los rastros de ANR y los registros de fallos de mi dispositivo"
- "Mira los registros recientes y dime si hay algún error"
- "Instala este archivo APK en mi dispositivo y dime si se instaló correctamente"
- "Muéstrame una lista de todas las aplicaciones instaladas en mi teléfono"
- "Reiniciar mi dispositivo en modo de recuperación"
- "¿Qué versión de Android tiene mi teléfono?"
- "Comprueba si mi dispositivo está rooteado e indícame su nivel de parche de seguridad"
- "Muéstrame el archivo de manifiesto de com.android.settings"
- "Comprueba las preferencias compartidas de mi aplicación"
- Pulsa el icono de Configuración en las coordenadas 500,1000.
- Desliza el dedo hacia abajo desde la parte superior de la pantalla para abrir la barra de notificaciones.
- "Ingrese mi contraseña en el campo de texto actual"
- "Presione el botón Atrás tres veces para volver a la pantalla de inicio"
- "Abre la aplicación Configuración iniciando el paquete com.android.settings"
🔒 Funciones de seguridad
DroidMind incluye un marco de seguridad integral para proteger sus dispositivos y al mismo tiempo permitir que los asistentes de IA sean expresivos:
- Validación de comandos : todos los comandos de shell se validan con una lista de comandos seguros permitidos
- Evaluación de riesgos : los comandos se clasifican por nivel de riesgo (SEGURO, BAJO, MEDIO, ALTO, CRÍTICO)
- Sanitización de comandos : la entrada se desinfecta para evitar ataques de inyección de comandos
- Rutas protegidas : los directorios del sistema y las rutas críticas están protegidos contra modificaciones
- Registro completo : todos los comandos se registran con su nivel de riesgo para auditoría.
- Detección de patrones sospechosos : se bloquean los comandos con patrones potencialmente peligrosos
- Seguridad de comandos ADB : manejo especial para comandos específicos de ADB con validación asíncrona adecuada
El sistema de seguridad está diseñado para ser lo suficientemente permisivo como para permitir operaciones comunes y, al mismo tiempo, prevenir acciones destructivas. Los comandos de alto riesgo mostrarán advertencias a los usuarios antes de su ejecución, y las operaciones críticas se bloquearán por completo sin necesidad de una anulación explícita.
💻 Desarrollo
DroidMind utiliza UV para la gestión de dependencias y los flujos de trabajo de desarrollo. UV es un gestor y solucionador de paquetes de Python rápido y fiable.
🤝 Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
- Bifurcar el repositorio
- Crea tu rama de funciones (
git checkout -b feature/amazing-feature
) - Configura tu entorno de desarrollo con UV
- Realiza tus cambios
- Ejecutar pruebas y linting
- Confirme sus cambios (
git commit -m 'Add some amazing feature'
) - Empujar a la rama (
git push origin feature/amazing-feature
) - Abrir una solicitud de extracción
📝 Licencia
Este proyecto está licenciado bajo la licencia Apache: consulte el archivo de LICENCIA para obtener más detalles.
Creado por Stefanie Jane 🌠
Si te resulta útil DroidMind, cómprame un Monster Ultra Violet ⚡️
You must be authenticated.
Tools
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA controlar e interactuar con dispositivos Android, lo que permite la administración de dispositivos, la depuración de aplicaciones, el análisis del sistema y la automatización de la interfaz de usuario a través de comandos de lenguaje natural.
- 💫 Features
- 🚀 Installation
- 📋 Prerequisites
- 🔮 Quick Start
- 🛠️ Available MCP Resources and Tools
- 📊 Example AI Assistant Queries
- 🔒 Security Features
- 💻 Development
- 🤝 Contributing
- 📝 License