d

droidmind 安卓智控

@hyperb1iss/droidmind
1 Stars 426 次浏览 hyperb1iss 更新于 2026-08-23

一种模型上下文协议(MCP)服务器, enables 人工智能助手控制和与安卓设备交互,通过自然语言命令实现设备管理、应用调试、系统分析和UI自动化。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

✨ DroidMind 🤖


License
Status
Code Style
Type Check

通过模型上下文协议 (MCP) 使用 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 Debug Bridge)并添加到 PATH
  • UV 包管理器(推荐用于依赖管理)
  • 对于网络控制:启用了 ADB over TCP/IP 的 Android 设备

🔮 快速开始

运行 DroidMind 服务器

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

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

与 AI 助手一起使用

  1. 以 SSE 模式启动 DroidMind:

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

    sse://localhost:4256/sse
    
  3. 现在,AI 可以通过自然语言控制您的 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意图启动应用程序活动

📊 示例AI助手查询

当AI助手连接到DroidMind时,尝试这些查询:

  • "列出所有已连接的 Android 设备并显示它们的属性"
  • "连接到我的手机 192.168.1.100 并检查其电池状态"
  • "截取我的 Pixel 手机屏幕截图并显示当前屏幕上显示的内容"
  • "检查我的设备上的可用存储空间"
  • "显示来自我的设备的 ANR 跟踪和崩溃日志"
  • "查看最近的日志并告诉我是否有任何错误"
  • "在我的设备上安装此 APK 文件并告诉我是否成功"
  • "显示我手机上所有已安装的应用程序列表"
  • "重启我的设备进入恢复模式"
  • "我的手机运行的是哪个 Android 版本?"
  • "检查我的设备是否已 root 并告诉我其安全补丁级别"
  • "显示 com.android.settings 的清单文件"
  • "检查我的应用程序的共享偏好设置"
  • "点击坐标 500,1000 处的设置图标"
  • "从屏幕顶部向下滑动以打开通知栏"
  • "将我的密码输入到当前文本字段中"
  • "按三次返回按钮回到主屏幕"
  • "通过启动 com.android.settings 包来打开设置应用"

🔒 安全特性

DroidMind 包含一个全面的安全框架,在允许 AI 助手表达的同时保护您的设备:

  • 命令验证:所有 shell 命令都针对安全命令的白名单进行验证
  • 风险评估:命令按风险级别(SAFE、LOW、MEDIUM、HIGH、CRITICAL)分类
  • 命令清理:输入被清理以防止命令注入攻击
  • 受保护路径:系统目录和关键路径受到保护,防止被修改
  • 全面日志记录:所有命令及其风险级别都被记录下来以供审核
  • 可疑模式检测:具有潜在危险模式的命令被阻止
  • ADB 命令安全:对 ADB 特定命令进行特殊处理,并进行适当的异步验证

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

💻 开发

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

# Update dependencies
uv sync

# Run tests
pytest

# Run linting
ruff check .

# Run type checking
mypy .

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

  1. 叉分仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 使用 UV 设置你的开发环境
  4. 进行更改
  5. 运行测试和代码检查
  6. 提交更改 (git commit -m 'Add some amazing feature')
  7. 推送到分支 (git push origin feature/amazing-feature)
  8. 打开 Pull Request

📝 许可证

该项目根据 Apache 许可证授权 - 详情见 LICENSE 文件。


Stefanie Jane 🌠 创建

如果你觉得 DroidMind 很有用,请我喝一瓶 Monster Ultra Violet ⚡️

相关 MCP 服务