
How to add DroidMind to Windsurf
Control Android devices with AI through the Model Context Protocol via ADB. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 406★ · stdio · no auth
Windsurf config for DroidMind
{
"mcpServers": {
"droidmind": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/hyperb1iss/droidmind",
"droidmind",
"--transport",
"stdio"
]
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the DroidMind config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5DroidMind's tools become available to Cascade.
Before you start
- Python 3.13 (3.14 not yet supported)
- uv (Python package manager)
- Android device with USB debugging enabled
- ADB (Android Debug Bridge) installed and in your system's PATH
What DroidMind can do in Windsurf
android-deviceDevice management operations: list_devices, connect_device (TCP/IP over Wi-Fi), disconnect_device, device_properties, and reboot_device (normal/recovery/bootloader).
android-diagDiagnostics operations: capture_bugreport (comprehensive bug report, optionally with screenshots) and dump_heap (Java or native heap dump from a running process).
android-logLog retrieval: get_device_logcat, get_app_logs (filtered by package), get_anr_logs, get_crash_logs, and get_battery_stats.
android-fileFile and directory operations: list_directory, push_file, pull_file, delete_file, create_directory, file_exists, read_file, write_file, and file_stats.
android-appApplication management: install_app, uninstall_app, start_app, stop_app, clear_app_data, list_packages, get_app_manifest, get_app_permissions, get_app_activities, and get_app_info.
android-shellExecutes an arbitrary ADB shell command on the device, with optional limits on output lines and size.
android-uiUI automation: tap, swipe, input_text, press_key (Android keycodes), and start_intent (launch an activity with optional intent extras).
android-screenshotCaptures a screenshot from the device, with configurable JPEG quality (1-100, default 75).
Security
DroidMind includes a security framework: command validation and sanitization, risk assessment categorization, protected path operations, and comprehensive logging. High-risk operations are flagged and critical ones are blocked by default. Because it controls a real Android device over ADB (including shell execution and file write/delete), grant it access only to devices and data you trust.
DroidMind + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the DroidMind config there under the "mcpServers" key and restart the client.
Is DroidMind safe to use with Windsurf?
DroidMind includes a security framework: command validation and sanitization, risk assessment categorization, protected path operations, and comprehensive logging. High-risk operations are flagged and critical ones are blocked by default. Because it controls a real Android device over ADB (including shell execution and file write/delete), grant it access only to devices and data you trust.
Do I need to install DroidMind before using it?
No. The recommended quickstart uses uvx to run DroidMind directly from its GitHub repository, so you don't need to clone or install it manually. Manual installation from source and a Docker option are also documented.
Which transports are supported?
stdio (the default and preferred mode for most IDE integrations) and SSE (for web UIs or assistants like Claude Desktop, typically at sse://localhost:4256/sse).
Is it safe to give an AI control of my device?
DroidMind adds a security framework with command validation and sanitization, risk assessment, protected path operations, and logging. High-risk operations are flagged and critical ones are blocked by default, but you should still only connect devices and data you trust.