关于 droidprobe
droidprobe 是面向开发者和 Agent 的 Rust 工具包,可通过 ADB 检查 Android 设备。它提供终端界面和 MCP 服务端,共用核心来检查设备、软件包和日志。
主要功能
- 01通过 ADB 检查 Android 设备
- 02查看硬件与软件包
- 03检查权限和组件
- 04浏览设备日志
- 05终端界面与共享核心
适用场景
- 01检查已安装软件包及权限
- 02查看 Android 设备日志
- 03通过 Agent 检查设备信息
- 04在终端界面浏览设备信息
MCP 相关
droidprobe-mcp 服务端向 MCP 客户端提供 10 个只读工具,用于检查设备、软件包和日志。它通过 stdio 通信,需能访问本地 ADB 服务和已连接的设备。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
droidprobe
用于通过 ADB(USB 调试)检查 Android 设备的模块化 Rust 工具包。
一个共享核心为两个前端提供支持:终端 UI(droidprobe)和供 Agent 使用的 MCP
服务(droidprobe-mcp)。
完整设计和分阶段计划请参阅 ARCHITECTURE.md。
截图

| 概览 | 软件包 | 日志 |
|---|---|---|
![]() | ![]() | ![]() |
工作区布局
droidprobe/
├── Cargo.toml # workspace + shared dep versions
├── ARCHITECTURE.md
└── crates/
├── droidprobe-parser/ # raw text -> structured data (pure, no I/O)
├── droidprobe-command/ # Command trait, Transport, built-in catalog
├── droidprobe-core/ # Registry + Engine + Poller
├── droidprobe-tui/ # ratatui binary (bin: `droidprobe`)
└── droidprobe-mcp/ # rmcp binary (bin: `droidprobe-mcp`)
前置条件
- Rust 1.82+(推荐使用
rustup) - 正在运行的
adb服务(adb start-server),以及已启用并授权 USB 调试的设备。
构建与测试
cargo build --workspace
cargo test --workspace # parser + command tests run without a device
运行 TUI
cargo run -p droidprobe-tui
# Tab switches views, q quits. Logs are written to ./droidprobe.log
运行 MCP 服务
cargo run -p droidprobe-mcp # speaks MCP over stdio
将客户端指向构建好的二进制文件,并将其设为 stdio 服务,即可在 MCP 客户端(例如 Claude Desktop / Claude Code)中注册。工具均为只读。
在 Claude Code 中注册
cargo build -p droidprobe-mcp --release
claude mcp add droidprobe -- "$(pwd)/target/release/droidprobe-mcp"
claude mcp get droidprobe # should show "Status: ✔ Connected"
这必须在运行 adb 服务并连接 USB 设备的同一台机器上执行——该服务无法访问无法通过 adb shell 连接的设备,因此除非将 adb 隧道连接回该服务,否则没有实际可行的方式将其与远程基础设施分离运行。
在 Claude Desktop 中注册
添加到 claude_desktop_config.json:
{
"mcpServers": {
"droidprobe": {
"command": "/absolute/path/to/target/release/droidprobe-mcp"
}
}
}
分发 droidprobe-mcp
发布到 crates.io
依赖路径的 crate 必须按依赖顺序发布——每个 crate 都需要其前置依赖已发布到 crates.io,cargo publish 才能解析:
cargo login # one-time, needs your crates.io API token
cargo publish -p droidprobe-parser
cargo publish -p droidprobe-command # only after droidprobe-parser is live
cargo publish -p droidprobe-core # only after droidprobe-command is live
cargo publish -p droidprobe-mcp # only after droidprobe-core is live
cargo publish -p droidprobe-tui # optional, same dependency floor as mcp
crates.io 通常会在一两分钟内为新版本建立索引;如果在前一个 crate 发布后过早运行,下游 crate 的 cargo publish 会因“no matching package found”而失败。发布 droidprobe-mcp 后,任何安装了 Rust 的人都可以运行:
cargo install droidprobe-mcp
预构建二进制文件(无需 Rust 工具链)
每当推送 v*.*.* 标签时,.github/workflows/release.yml 都会为 macOS(Intel + Apple Silicon)、Linux x86_64 和 Windows x86_64 交叉构建 droidprobe(TUI)和
droidprobe-mcp,并将压缩包附加到 GitHub Release:
git tag v0.1.0
git push origin v0.1.0
列入 MCP 注册表
官方 MCP 注册表
通过专用 CLI 发布,并通过 GitHub OAuth 验证命名空间所有权。本仓库附带入门用的 server.json
——请将其 version 更新为与每个 crates.io 发布版本一致,然后:
brew install mcp-publisher
mcp-publisher login github
mcp-publisher publish # validates server.json and submits it
添加自己的命令
实现 Command,将其包装在 TypedDyn 中,然后注册:
let mut registry = droidprobe_core::registry::Registry::with_builtins();
registry.register(Box::new(droidprobe_command::TypedDyn(MyCommand)));
状态
包含 10 个经过测试的解析器、10 个内置命令、注册表/引擎/轮询器,以及一个包含概览/软件包/日志选项卡的 TUI(支持软件包搜索、权限,以及 activity/service/receiver/provider 组件选项卡);还有一个包含 10 个工具的 MCP 服务,涵盖相同的设备/软件包/日志范围。第 2–6 阶段(解析器覆盖范围、TUI 深度、ATK 命令对等、MCP 完善、稳健性)详见 ARCHITECTURE.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。


