Skip to main content
Glama

✨DroidMind🤖

Python 3.13+ 执照 地位 代码风格 类型检查

通过模型上下文协议使用 AI 控制 Android 设备

DroidMind 是 AI 助手与 Android 设备之间的强大桥梁,支持通过自然语言进行控制、调试和系统分析。通过实现模型上下文协议 (MCP),DroidMind 允许 AI 模型通过 ADB 以安全、结构化的方式直接与 Android 设备交互。当作为代理编码工作流程的一部分使用时,DroidMind 可以让您的助手直接在设备循环中构建和调试。

💫 功能

  • 📱设备控制- 通过 USB 或 TCP/IP 连接到设备,运行 shell 命令,重新启动

  • 📊系统分析- 检查设备属性,查看硬件信息,分析系统日志

  • 🔍文件系统访问- 浏览目录内容并管理设备上的文件

  • 📷可视化诊断- 捕获设备屏幕截图以进行分析和调试

  • 📦应用程序管理- 在连接的设备上安装、卸载、启动、停止和清除应用程序数据

  • 🔄多设备支持- 控制并在多个连接的设备之间切换

  • 👆 UI 自动化- 通过点击、滑动、文本输入和按键与设备交互

  • 🔍应用程序检查- 查看应用程序清单、共享首选项和特定于应用程序的日志

  • 🔒安全框架- 通过全面的命令验证保护设备

  • 💬 MCP 集成- 无缝连接到 Claude、Cursor、Cline 等

Related MCP server: MCP Android Agent

🚀 安装

# 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

📋 先决条件

  • Python 3.13 或更高版本

  • 已启用 USB 调试的 Android 设备

  • ADB(Android 调试桥)已安装并位于 PATH 中

  • UV 包管理器(推荐用于依赖项管理)

  • 对于网络控制:启用了 ADB over TCP/IP 的 Android 设备

🔮 快速入门

运行 DroidMind 服务器

运行 DroidMind 作为服务器,通过 MCP 连接 AI 助手:

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

与人工智能助手一起使用

  1. 以 SSE 模式启动 DroidMind:

    droidmind --transport sse
  2. 使用 MCP 协议 URI 连接您的 AI 助手:

    sse://localhost:4256/sse
  3. 人工智能现在可以通过自然语言控制您的 Android 设备!

🛠️ 可用的 MCP 资源和工具

资源

  • devices://list - 列出所有连接的设备

  • device://{serial}/properties - 获取详细的设备属性

  • logs://{serial}/logcat - 从设备获取最近的日志

  • logs://{serial}/anr - 获取应用程序无响应 (ANR) 跟踪

  • logs://{serial}/crashes - 获取应用程序崩溃日志

  • logs://{serial}/battery - 获取电池统计数据和历史记录

  • logs://{serial}/app/{package} - 获取应用程序特定的日志

  • fs://{serial}/list/{path} - 列出设备上的目录内容

  • fs://{serial}/read/{path} - 从设备读取文件内容

  • fs://{serial}/stats/{path} - 获取详细的文件/目录统计信息

  • app://{serial}/{package}/manifest - 获取 AndroidManifest.xml 内容

  • app://{serial}/{package}/data - 列出应用程序数据目录中的文件

  • app://{serial}/{package}/shared_prefs - 获取应用程序的共享偏好设置

工具

  • devicelist - 列出所有已连接的 Android 设备

  • device_properties - 获取特定设备的详细属性

  • device_logcat - 从设备获取最近的 logcat 输出

  • list_directory - 列出设备上目录的内容

  • connect_device通过 TCP/IP 连接到设备

  • disconnect_device - 断开与 Android 设备的连接

  • shell_command - 在设备上运行 shell 命令

  • install_app - 在设备上安装 APK

  • uninstall_app - 从设备上卸载应用程序

  • start_app - 在设备上启动应用程序

  • stop_app - 强制停止设备上的应用程序

  • clear_app_data - 清除应用程序数据和缓存

  • list_packages - 列出设备上已安装的软件包

  • get_app_manifest - 获取应用程序的 AndroidManifest.xml 内容

  • get_app_permissions - 获取应用程序请求的权限

  • get_app_activities - 获取应用中定义的活动

  • get_app_info - 获取有关应用程序的详细信息

  • reboot_device - 重启设备(正常、恢复或引导加载程序)

  • screenshot - 从设备获取屏幕截图

  • capture_bugreport - 从设备生成全面的错误报告

  • dump_heap - 从正在运行的进程创建堆转储以进行内存分析

  • push_file - 将文件上传到设备

  • pull_file - 从设备下载文件

  • delete_file - 从设备中删除文件或目录

  • create_directory - 在设备上创建目录

  • file_exists - 检查设备上是否存在文件

  • read_file - 读取设备上文件的内容

  • write_file - 将文本内容写入设备上的文件

  • file_stats - 获取有关文件或目录的详细信息

  • tap - 点击设备屏幕上的特定坐标

  • swipe - 在屏幕上从一个点到另一个点执行滑动手势

  • input_text - 在设备上输入文本,就像从键盘输入一样

  • press_key - 按下硬件或软件键(例如 HOME、BACK、VOLUME)

  • start_intent - 使用 Android Intent 启动应用活动

📊 AI 助手查询示例

将 AI 助手连接到 DroidMind 后,尝试以下查询:

  • “列出所有已连接的 Android 设备并显示其属性”

  • “连接到我的手机 192.168.1.100 并检查其电池状态”

  • “截取我的 Pixel 的屏幕截图并向我显示当前屏幕上的内容”

  • “检查我的设备上的可用存储空间”

  • “显示我设备的 ANR 跟踪和崩溃日志”

  • “查看最近的日志并告诉我是否有任何错误”

  • “在我的设备上安装这个 APK 文件并告诉我是否成功”

  • “显示我手机上所有已安装应用程序的列表”

  • “将我的设备重启至恢复模式”

  • “我的手机运行的是哪个版本的 Android?”

  • “检查我的设备是否已 root 并告诉我其安全补丁级别”

  • “显示 com.android.settings 的清单文件”

  • “检查我的应用程序的共享偏好设置”

  • “点击坐标 500,1000 处的“设置”图标”

  • “从屏幕顶部向下滑动即可打开通知栏”

  • “在当前文本字段中输入我的密码”

  • “按三次返回按钮即可返回主屏幕”

  • “通过启动 com.android.settings 包来打开“设置”应用”

🔒 安全功能

DroidMind 包含一个全面的安全框架来保护您的设备,同时仍允许 AI 助手发挥表达能力:

  • 命令验证:所有 shell 命令都根据安全命令的允许列表进行验证

  • 风险评估:命令按风险级别分类(安全、低、中、高、严重)

  • 命令清理:对输入进行清理,以防止命令注入攻击

  • 受保护的路径:系统目录和关键路径受到保护,不得修改

  • 全面日志记录:所有命令均记录其风险级别以供审计

  • 可疑模式检测:具有潜在危险模式的命令将被阻止

  • ADB 命令安全性:通过适当的异步验证对 ADB 特定命令进行特殊处理

安全系统设计得足够宽松,允许常见操作,同时防止破坏性操作。高风险命令会在执行前向用户显示警告,关键操作会被完全阻止,无需明确覆盖。

💻 开发

DroidMind 使用 UV 进行依赖项管理和开发工作流程。UV 是一个快速、可靠的 Python 包管理器和解析器。

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

🤝 贡献

欢迎贡献代码!欢迎提交 Pull 请求。

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature

  3. 使用 UV 设置您的开发环境

  4. 进行更改

  5. 运行测试和 linting

  6. 提交您的更改( git commit -m 'Add some amazing feature'

  7. 推送到分支( git push origin feature/amazing-feature

  8. 打开拉取请求

📝 许可证

该项目根据 Apache 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。


Stefanie Jane 🌠创建

如果您发现 DroidMind 有用,请给我买一个 Monster Ultra Violet ⚡️

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hyperb1iss/droidmind'

If you have feedback or need assistance with the MCP directory API, please join our Discord server