droidprobe-mcp
Inspects a USB-attached Android device over ADB through 10 read-only tools covering device state, installed packages, and logs. Provides package search plus per-package details such as permissions and activity/service/receiver/provider components, along with log retrieval, allowing an agent to explore and diagnose an Android device directly from the ADB-connected machine.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@droidprobe-mcpcheck my connected Android device's battery and recent logcat errors"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
droidprobe
Modular Rust toolkit for inspecting an Android device over ADB (USB debugging).
One shared core powers two front-ends: a terminal UI (droidprobe) and an MCP
server (droidprobe-mcp) for agents.
See ARCHITECTURE.md for the full design and phased plan.
Screenshots

Overview | Packages | Logs |
|
|
|
Related MCP server: adb-mcp-server
Workspace layout
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`)Prerequisites
Rust 1.82+ (
rustuprecommended)A running
adbserver (adb start-server) and a device with USB debugging enabled and authorized.
Build & test
cargo build --workspace
cargo test --workspace # parser + command tests run without a deviceRun the TUI
cargo run -p droidprobe-tui
# Tab switches views, q quits. Logs are written to ./droidprobe.logRun the MCP server
cargo run -p droidprobe-mcp # speaks MCP over stdioRegister it with an MCP client (e.g. Claude Desktop / Claude Code) by pointing the client at the built binary as a stdio server. Tools are read-only.
Register with 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"This must run on the same machine as the adb server and the USB-attached
device — the server has no way to reach a device it can't adb shell into,
so there's no meaningful way to run it detached on remote infrastructure
unless you tunnel adb back to it.
Register with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"droidprobe": {
"command": "/absolute/path/to/target/release/droidprobe-mcp"
}
}
}Distributing droidprobe-mcp
Publish to crates.io
Path-dependent crates must publish in dependency order — each one needs its
predecessors already live on crates.io before cargo publish will resolve:
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 mcpcrates.io indexes new releases within a minute or two; cargo publish for a
downstream crate will fail with "no matching package found" if you run it
too soon after the one before it. Once droidprobe-mcp is published, anyone
with Rust installed can run:
cargo install droidprobe-mcpPrebuilt binaries (no Rust toolchain needed)
.github/workflows/release.yml cross-builds both droidprobe (TUI) and
droidprobe-mcp for macOS (Intel + Apple Silicon), Linux x86_64, and Windows
x86_64 whenever a v*.*.* tag is pushed, and attaches the archives to a
GitHub Release:
git tag v0.1.0
git push origin v0.1.0List in the MCP registry
The official MCP registry
publishes via a dedicated CLI and validates namespace ownership through
GitHub OAuth. A starter server.json is included in this repo
— update its version to match each crates.io release, then:
brew install mcp-publisher
mcp-publisher login github
mcp-publisher publish # validates server.json and submits itAdding your own command
Implement Command, wrap it in TypedDyn, and register it:
let mut registry = droidprobe_core::registry::Registry::with_builtins();
registry.register(Box::new(droidprobe_command::TypedDyn(MyCommand)));Status
10 tested parsers, 10 built-in commands, the registry/engine/poller, a TUI with Overview/Packages/Logs tabs (package search, permissions, and activity/service/receiver/provider component tabs), and a 10-tool MCP server covering the same device/package/log surface. Phases 2–6 (parser breadth, TUI depth, ATK command parity, MCP polish, robustness) are described in ARCHITECTURE.md.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Four tools to check, watch, diagnose and verify AI agents and MCP servers. Free, read-only.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Analytics for MCP servers. Find out which of your tools agents get wrong. MCPulse shows you which tools AI agents retry, which come back empty, and which they never call at all. Two lines inside your own server. It never sees your arguments or your results. getmcpulse.com
A registry of AI agent tools — MCP servers, APIs, CLIs, SDKs — kept current by automated ingestion.
Related MCP Servers
- AlicenseBqualityAmaintenanceA comprehensive MCP server that enables AI agents to interact with Android devices through Android Debug Bridge (ADB), offering 198 tools for device control, app management, diagnostics, and more.10082 npm18Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible agents to control an Android device over the network via ADB, providing tools for shell commands, screen capture, UI inspection, file operations, and input simulation.22 npmMIT
- AlicenseAqualityDmaintenanceEnables an agent to inspect and interact with Android emulators or physical devices via ADB, capturing UI snapshots, tapping nodes, typing text, and reading app logs.10MIT
- AlicenseNot gradedqualityCmaintenanceA comprehensive MCP server for Android Debug Bridge, enabling AI agents to control Android devices through structured tools like launching apps, UI automation, file operations, and log capture.1MIT


