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🤖

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

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

💫 功能

  • 📱设备控制- 通过 USB 或 TCP/IP 连接到设备,运行 shell 命令,重新启动
  • 📊系统分析- 检查设备属性,查看硬件信息,分析系统日志
  • 🔍文件系统访问- 浏览目录内容并管理设备上的文件
  • 📷可视化诊断- 捕获设备屏幕截图以进行分析和调试
  • 📦应用程序管理- 在连接的设备上安装、卸载、启动、停止和清除应用程序数据
  • 🔄多设备支持- 控制并在多个连接的设备之间切换
  • 👆 UI 自动化- 通过点击、滑动、文本输入和按键与设备交互
  • 🔍应用程序检查- 查看应用程序清单、共享首选项和特定于应用程序的日志
  • 🔒安全框架- 通过全面的命令验证保护设备
  • 💬 MCP 集成- 无缝连接到 Claude、Cursor、Cline 等

🚀 安装

# 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 ⚡️

You must be authenticated.

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

模型上下文协议 (MCP) 服务器使 AI 助手能够控制和与 Android 设备交互,从而允许通过自然语言命令进行设备管理、应用程序调试、系统分析和 UI 自动化。

  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