mcpField
D
droidprobe

droidprobe

ローカル
github.com/orhanbalci開発ツール019 週間前に更新

droidprobe について

droidprobeは、ADB経由でAndroidデバイスを調べる開発者やエージェント向けのRustツールキットです。端末UIとMCPサーバーが共通のコアを使い、デバイス、パッケージ、ログを調査できます。

主な機能

  1. 01ADB経由でAndroidデバイスを調査
  2. 02ハードウェアとパッケージの表示
  3. 03権限とコンポーネントの確認
  4. 04デバイスログの閲覧
  5. 05端末UIと共有コア

活用シーン

  1. 01インストール済みパッケージと権限の確認
  2. 02Androidデバイスログの確認
  3. 03エージェントからデバイス情報を調査
  4. 04端末UIでデバイス情報を閲覧

MCP 対応

droidprobe-mcpサーバーは、デバイス、パッケージ、ログの調査に使う10個の読み取り専用ツールをMCPクライアントに公開します。stdioで通信し、ローカルのADBサーバーと接続端末へのアクセスが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

droidprobe

ADB(USB デバッグ)経由で Android デバイスを調査するための、モジュール式 Rust ツールキットです。 共通のコアを使用する 2 つのフロントエンド、ターミナル UI(droidprobe)とエージェント向け MCP サーバー(droidprobe-mcp)を提供します。

設計と段階的な計画の詳細は、ARCHITECTURE.md をご覧ください。

スクリーンショット

droidprobe の操作例

概要パッケージログ
概要タブパッケージタブログタブ

ワークスペースの構成

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

MCP クライアント(Claude Desktop / Claude Code など)には、ビルド済みバイナリを stdio サーバーとして指定して登録します。ツールは読み取り専用です。

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 への公開

パス依存のクレートは依存関係の順序に従って公開する必要があります。cargo publish で依存関係を解決するには、先行するクレートがすでに crates.io で公開されていなければなりません。

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 のインデックスに新しいリリースが反映されるまで、1〜2 分ほどかかります。先行するクレートの公開直後に下流のクレートで cargo publish を実行すると、「no matching package found」というエラーで失敗します。droidprobe-mcp の公開後は、Rust がインストールされていれば誰でも次のコマンドを実行できます。

cargo install droidprobe-mcp
ビルド済みバイナリ(Rust ツールチェーン不要)

.github/workflows/release.yml は、v*.*.* タグがプッシュされるたびに、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 が含まれています。crates.io の各リリースに合わせて version を更新し、次のコマンドを実行してください。

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(パッケージ検索、権限、アクティビティ/サービス/レシーバー/プロバイダーの各コンポーネントタブ)、および同じデバイス/パッケージ/ログを扱う 10 個のツールを備えた MCP サーバーを実装しています。フェーズ 2〜6(パーサーの拡充、TUI の拡充、ATK コマンドとの同等性、MCP の仕上げ、堅牢性)については ARCHITECTURE.md で説明しています。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。