ADB MCP Server について
ADB MCP Serverは、MCPクライアントからADB経由で接続中のAndroidデバイスを調査・操作するサーバーです。デバイス一覧、スクリーンショット、UI階層の取得、ADBコマンド実行に対応しています。
主な機能
- 01接続中のAndroidデバイス一覧
- 02デバイスのスクリーンショット撮影
- 03UI階層のXML抽出
- 04デバイス上でのADBコマンド実行
活用シーン
- 01接続中のAndroidデバイスの確認
- 02デバッグ用画面の撮影
- 03テスト用UI階層の調査
- 04対象デバイスでのADBコマンド実行
MCP 対応
デバイス一覧、スクリーンショット撮影、UI要素取得、ADBコマンド実行のMCPツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ADB MCP サーバー
Android Debug Bridge(ADB)接続を管理し、Android デバイスを操作するための Model Context Protocol(MCP)サーバーです。
機能
- デバイス管理:接続されているすべての Android デバイスを一覧表示します
- スクリーンショットの撮影:接続されているデバイスのスクリーンショットを撮影します
- UI 要素の検査:デバイス画面から UI 階層を抽出します
- ADB コマンドの実行:接続されているデバイスで任意の ADB コマンドを実行します
前提条件
- Android Debug Bridge(ADB)がシステムにインストールされ、PATH に追加されている必要があります
- Node.js(v14 以上)
- TypeScript
インストール
-
リポジトリをクローンします:
git clone https://github.com/yourusername/adb-mcp-server.git cd adb-mcp-server -
依存関係をインストールします:
npm install -
プロジェクトをビルドします:
npm run build
使用方法
サーバーの起動
ADB MCP サーバーは、stdio 経由で Model Context Protocol サーバーとして実行されます:
npm start
ファイル変更時に自動で再起動する開発モードの場合:
npm run dev
利用可能なツール
このサーバーは、以下の MCP ツールを公開します:
1. 接続済みデバイスの一覧表示
get_devices
接続されているすべての Android デバイスの ID と接続状態を含む一覧を返します。
2. スクリーンショットの撮影
capture_screenshot
パラメーター:
deviceId:撮影元デバイスの IDpath:スクリーンショットの保存先パス
スクリーンショットのファイル名は、次の形式になります:YYYYMMDD_HH_MM_SS.png
3. UI 要素の取得
get_ui_elements
パラメーター:
deviceId:UI 階層の抽出元デバイスの ID
UI 自動化やテストに役立つ、XML 形式の完全な UI 階層を返します。
4. ADB コマンドの実行
execute_adb_command
パラメーター:
deviceId:コマンドの実行対象デバイスの IDcommand:実行する ADB コマンド
指定したデバイスで任意の ADB コマンドを実行できます。
プロジェクト構成
adb-mcp-server
├── src
│ ├── index.ts # Main MCP server entry point
│ ├── handlers/ # Request handlers for each feature
│ │ ├── deviceList.ts # Device listing functionality
│ │ ├── screenshot.ts # Screenshot capture functionality
│ │ └── uiElements.ts # UI hierarchy extraction
│ ├── utils/ # Utility functions
│ │ ├── adb.ts # ADB command execution utilities
│ │ └── screenshot.ts # Screenshot handling utilities
│ └── types/ # TypeScript type definitions
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration
コントリビューション
コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。