DroidMind

by hyperb1iss
Verified

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

# Clone the repository git clone https://github.com/hyperbliss/droidmind.git cd droidmind # Set up a virtual environment with UV uv venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies with UV uv sync

📋 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:

# Start DroidMind as a network server droidmind --transport sse

Uso con asistentes de IA

  1. Inicie DroidMind en modo SSE:
    droidmind --transport sse
  2. Conecte su asistente de IA utilizando la URI del protocolo MCP:
    sse://localhost:4256/sse
  3. ¡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 conectados
  • device://{serial}/properties - Obtener propiedades detalladas del dispositivo
  • logs://{serial}/logcat - Obtener registros recientes del dispositivo
  • logs://{serial}/anr - Obtener rastros de aplicaciones que no responden (ANR)
  • logs://{serial}/crashes - Obtener registros de fallos de la aplicación
  • logs://{serial}/battery - Obtener estadísticas e historial de la batería
  • logs://{serial}/app/{package} - Obtener registros específicos de la aplicación
  • fs://{serial}/list/{path} - Lista el contenido del directorio en el dispositivo
  • fs://{serial}/read/{path} - Leer el contenido del archivo desde el dispositivo
  • fs://{serial}/stats/{path} - Obtener estadísticas detalladas de archivos/directorios
  • app://{serial}/{package}/manifest - Obtener el contenido de AndroidManifest.xml
  • app://{serial}/{package}/data - Lista los archivos en el directorio de datos de la aplicación
  • app://{serial}/{package}/shared_prefs - Obtener las preferencias compartidas de la aplicación

Herramientas

  • devicelist - Lista todos los dispositivos Android conectados
  • device_properties : obtiene las propiedades detalladas de un dispositivo específico
  • device_logcat : obtiene la salida reciente de logcat de un dispositivo
  • list_directory - Lista el contenido de un directorio en el dispositivo
  • connect_device - Conectarse a un dispositivo a través de TCP/IP
  • disconnect_device - Desconectarse de un dispositivo Android
  • shell_command - Ejecuta un comando de shell en el dispositivo
  • install_app - Instalar un APK en el dispositivo
  • uninstall_app - Desinstalar una aplicación del dispositivo
  • start_app - Iniciar una aplicación en el dispositivo
  • stop_app - Fuerza la detención de una aplicación en el dispositivo
  • clear_app_data - Borrar datos y caché de la aplicación
  • list_packages - Lista los paquetes instalados en el dispositivo
  • get_app_manifest : obtiene el contenido de AndroidManifest.xml para una aplicación
  • get_app_permissions - Obtener los permisos solicitados por una aplicación
  • get_app_activities - Obtener actividades definidas en una aplicación
  • get_app_info - Obtener información detallada sobre una aplicación
  • reboot_device - Reinicia el dispositivo (normal, recuperación o cargador de arranque)
  • screenshot - Obtener una captura de pantalla de un dispositivo
  • capture_bugreport : genera un informe de errores completo del dispositivo
  • dump_heap - Crea un volcado de montón desde un proceso en ejecución para el análisis de memoria
  • push_file - Sube un archivo al dispositivo
  • pull_file - Descargar un archivo desde el dispositivo
  • delete_file - Elimina un archivo o directorio del dispositivo
  • create_directory - Crea un directorio en el dispositivo
  • file_exists - Comprueba si existe un archivo en el dispositivo
  • read_file - Lee el contenido de un archivo en el dispositivo
  • write_file - Escribe contenido de texto en un archivo en el dispositivo
  • file_stats - Obtener información detallada sobre un archivo o directorio
  • tap - Toca la pantalla del dispositivo en coordenadas específicas
  • swipe - Realizar un gesto de deslizar de un punto a otro en la pantalla
  • input_text - Ingrese texto en el dispositivo como si fuera un teclado
  • press_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.

# Update dependencies uv sync # Run tests pytest # Run linting ruff check . # Run type checking mypy .

🤝 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Configura tu entorno de desarrollo con UV
  4. Realiza tus cambios
  5. Ejecutar pruebas y linting
  6. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  7. Empujar a la rama ( git push origin feature/amazing-feature )
  8. 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.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

  1. 💫 Features
    1. 🚀 Installation
      1. 📋 Prerequisites
        1. 🔮 Quick Start
          1. Run the DroidMind server
          2. Using with AI Assistants
        2. 🛠️ Available MCP Resources and Tools
          1. Resources
          2. Tools
        3. 📊 Example AI Assistant Queries
          1. 🔒 Security Features
            1. 💻 Development
              1. 🤝 Contributing
                1. 📝 License
                  ID: p03zdsi6ol