The DroidMind server enables AI-assisted control and management of Android devices via ADB through the Model Context Protocol (MCP).
Capabilities include:
- Device Management: Connect/disconnect devices, list connected devices, retrieve properties, and reboot
- App Control: Install, uninstall, start, stop apps, clear data, and list installed packages
- File Operations: Push, pull, list, read, write, delete files/directories and check existence
- System Analysis: Access logcat, capture bug reports, and dump process heap
- UI Automation: Take screenshots, simulate taps, swipes, text input, and key presses
- Shell Commands: Execute ADB shell commands with security validation
- Intent Handling: Start app activities with custom intents
- Security: Command validation, risk assessment, and sanitization to protect the device
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 🧠
Control Android devices with AI through the Model Context Protocol
DroidMind is a powerful bridge between AI assistants and Android devices, enabling control, debugging, and system analysis through natural language. By implementing the Model Context Protocol (MCP), DroidMind allows AI models to directly interact with Android devices via ADB in a secure, structured way. When used as part of an agentic coding workflow, DroidMind can enable your assistant to build and debug with your device directly in the loop.
💫 Core Features
DroidMind empowers AI assistants to:
- 📱 Manage Devices: Connect via USB/TCP-IP, list devices, view properties, and reboot.
- 📊 Analyze Systems: Access logs (logcat, ANR, crash, battery), capture bug reports, and dump heap.
- 📂 Handle Files: Browse, read, write, push, pull, delete, and manage device files/directories.
- 📦 Control Apps: Install, uninstall, start, stop, clear data, and inspect app details (manifest, permissions, activities).
- 🖼️ Automate UI: Perform taps, swipes, text input, and key presses.
- 🐚 Execute Shell Commands: Run ADB shell commands with a security-conscious framework.
- 🔒 Operate Securely: Benefit from command validation, risk assessment, and sanitization.
- 💬 Integrate Seamlessly: Connect with any MCP-compatible client (Claude, Cursor, Cline, etc.).
For a detailed list of capabilities, see the User Manual and MCP Reference.
🚀 Getting Started
Quickstart for IDEs (Zero Install with uvx
)
For the fastest way to integrate DroidMind with an MCP-compatible IDE (like Cursor), you can configure it to run DroidMind directly from its GitHub repository using uvx
. This method does not require you to manually clone or install DroidMind first.
Add the following to your IDE's MCP configuration (e.g., .cursor/mcp.json
for Cursor):
Your IDE will be configured to launch DroidMind on demand. Full instructions for this setup are in the Quick Start Guide.
Prerequisites
- Python 3.13 or higher
uv
(Python package manager)- Android device with USB debugging enabled
- ADB (Android Debug Bridge) installed and in your system's PATH
Installation
For detailed instructions on setting up DroidMind, including the quick IDE integration with uvx
(covered in the Quick Start), manual installation from source, or using Docker, please see our comprehensive Installation Guide.
Running DroidMind
How you run DroidMind depends on your setup:
- IDE Integration (via
uvx
): Your IDE automatically manages running DroidMind as configured in its MCP settings (e.g.,mcp.json
). See the Quick Start Guide. - Manual Installation: After installing from source, you can run DroidMind directly.
- Stdio (for direct terminal interaction or some IDE setups):
- SSE (for web UIs or AI assistants like Claude Desktop):This usually starts a server at
sse://localhost:4256/sse
.
- Stdio (for direct terminal interaction or some IDE setups):
- Docker: Refer to the Docker Guide for commands to run DroidMind in a container.
Refer to the Installation Guide for more details on running DroidMind in different environments.
🐳 Running with Docker
DroidMind can also be run using Docker for a consistent, containerized environment. This is particularly useful for deployment and isolating dependencies.
For comprehensive instructions on building the Docker image and running DroidMind in a container with stdio
or SSE
transport, including notes on ADB device access, please refer to our Docker Guide.
🔮 Example AI Assistant Queries
With an AI assistant connected to DroidMind, you can make requests like:
- "List all connected Android devices and show their properties."
- "Take a screenshot of my Pixel."
- "Install this APK on
emulator-5554
." - "Show me the recent crash logs from
your_device_serial
." - "Tap the 'Next' button on the current screen of
emulator-5554
."
For more inspiration, check out our Example Queries and Workflows in the User Manual.
🔒 Security
DroidMind incorporates a security framework to protect your devices:
- Command Validation & Sanitization
- Risk Assessment Categorization
- Protected Path Operations
- Comprehensive Logging
High-risk operations are flagged, and critical ones are blocked by default. Learn more in our Security Considerations chapter.
💻 Development
DroidMind uses uv
for dependency management and development workflows.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/amazing-feature
). - Set up your development environment with
uv
. - Make your changes.
- Run tests, linting, and type checking.
- Commit your changes (
git commit -m 'Add some amazing feature'
). - Push to the branch (
git push origin feature/amazing-feature
). - Open a Pull Request.
📝 License
This project is licensed under the Apache License - see the LICENSE file for details.
Created by Stefanie Jane 🌠
If you find DroidMind useful, buy me a Monster Ultra Violet ⚡️
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
A Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.
- 💫 Core Features
- 🚀 Getting Started
- 🐳 Running with Docker
- 🔮 Example AI Assistant Queries
- 🔒 Security
- 💻 Development
- 🤝 Contributing
- 📝 License
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants to interact with Android devices through ADB, allowing for automated device management, app installation, file transfers, and screenshot capture.Last updated -112JavaScriptISC License
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server for LeetCode that enables AI assistants to access LeetCode problems, user information, and contest data.Last updated -71TypeScriptMIT License
ElevenLabs MCP Serverofficial
AsecurityAlicenseAqualityAn official Model Context Protocol (MCP) server that enables AI clients to interact with ElevenLabs' Text to Speech and audio processing APIs, allowing for speech generation, voice cloning, audio transcription, and other audio-related tasks.Last updated -19700PythonMIT License- AsecurityAlicenseAqualityA foundation for building custom local Model Context Protocol (MCP) servers that provide tools accessible to AI assistants like Cursor or Claude Desktop.Last updated -19TypeScriptMIT License