Android ADB MCP Server について
Android ADB MCP Server は、AI アシスタントが Android Debug Bridge(ADB)を通じて Android デバイスを操作・管理できるようにする MCP サーバーです。アプリのインストール、ファイル転送、スクリーンショットなどの作業を自動化したい Android の開発者やテスト担当者を対象とします。
主な機能
- 01複数の接続デバイスの一覧表示と管理
- 02shell コマンドの実行とアプリのインストール・アンインストール
- 03ホストとデバイス間のファイル転送
- 04アプリの起動とスクリーンショットの保存・クリップボードへのコピー
活用シーン
- 01AI アシスタントを通じたテスト用 APK のインストール
- 02接続デバイスからのスクリーンショットやファイルの収集
- 03アプリの起動やデバッグ手順の自動化
MCP 対応
adb_devices、adb_shell、adb_install、adb_push などの ADB 関連ツールを MCP クライアントに公開する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Android ADB MCP Server
AI アシスタントが Android Debug Bridge(ADB)を通じて Android デバイスを操作できるようにする Model Context Protocol(MCP)サーバーです。このサーバーは、AI の機能と Android デバイス管理の橋渡しをし、Android の開発やテスト作業をシームレスに自動化できるようにします。
⚙️ クイックセットアップ
MCP の設定ファイルにサーバーを追加します。
{
"mcpServers": {
"android-adb": {
"command": "npx",
"args": ["-y", "@landicefu/android-adb-mcp-server"],
"env": {},
"disabled": false,
"alwaysAllow": []
}
}
}
設定ファイルの場所
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) - Cline/Roo Code:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json(macOS) - Windows/Linux の場合は、対応するアプリケーションサポートディレクトリを確認してください
設定後、新しいサーバー設定を読み込むために、AI アシスタントを再起動してください。
📋 前提条件
- **ADB(Android Debug Bridge)**がインストールされ、システムの PATH から利用できること
- Windows、macOS、Linux に ADB をインストールする
- ターミナルで
adb versionを実行して、インストールを確認してください
- クリップボード機能を使用する場合:
- macOS:
osascript(標準搭載) - Windows:PowerShell(標準搭載)
- Linux:
xclip(apt-get install xclipまたは同等の方法でインストール)
- macOS:
- Node.js 16.x 以降
🚀 機能
- 複数の Android デバイスへの接続と管理
- Android デバイスでのシェルコマンドの実行
- アプリケーションのインストールとアンインストール
- ローカルシステムと Android デバイス間でのファイルの送受信
- Android デバイスでのアプリケーションの起動
- スクリーンショットの撮影と、ローカルへの保存またはクリップボードへのコピー
- 複数のデバイスが接続されている場合のスマートなデバイス選択
🛠️ 利用可能なツール
| ツール | 説明 | 必須パラメーター | 任意パラメーター |
|---|---|---|---|
adb_devices | 接続中のデバイスを一覧表示します | なし | なし |
adb_shell | シェルコマンドを実行します | command | device_id |
adb_install | APK ファイルをインストールします | path | device_id |
adb_uninstall | アプリケーションをアンインストールします | package_name | device_id |
adb_list_packages | インストール済みのパッケージを一覧表示します | なし | device_id, filter |
adb_pull | デバイスからファイルを取得します | remote_path, local_path | device_id |
adb_push | デバイスにファイルを送信します | local_path, remote_path | device_id |
launch_app | アプリケーションを起動します | package_name | device_id |
take_screenshot_and_save | スクリーンショットを撮影して保存します | output_path | device_id, format |
take_screenshot_and_copy_to_clipboard | スクリーンショットを撮影してクリップボードにコピーします | なし | device_id, format |
デバイス管理
サーバーはデバイスの選択を自動的に処理します。
- 接続されているデバイスが 1 台のみの場合、自動的に使用されます
- 複数のデバイスが接続されている場合は、
device_idパラメーターを指定する必要があります - デバイスが接続されていない場合は、エラーが返されます
スクリーンショットのパス解決
スクリーンショットを保存するための output_path を指定した場合、パスは次のように解決されます。
- 絶対パスは指定されたとおりに使用されます
~で始まるパスは、ユーザーのホームディレクトリに展開されます- 相対パスは、ユーザーのホームディレクトリを基準に解決されます
これにより、MCP サーバーに書き込み権限がある場所にスクリーンショットが保存されます。
🔍 トラブルシューティング
よくある問題
-
「ADB is not available」エラー
- ADB がインストールされ、システムの PATH に含まれていることを確認してください
- ターミナルで
adb versionを実行して確認してください
-
「No Android devices connected」エラー
adb devicesを実行して、デバイスが正しく接続されているか確認してください- デバイスで USB デバッグが有効になっていることを確認してください
adb kill-serverの後にadb start-serverを実行して、ADB の再起動を試してください
-
「Multiple devices connected」エラー
- ツールの呼び出しで
device_idパラメーターを指定してください adb_devicesツールで利用可能なデバイスの一覧を取得してください
- ツールの呼び出しで
-
スクリーンショットをクリップボードにコピーできない
- プラットフォームごとに必要なツールがインストールされていることを確認してください
🔧 代替インストール方法
オプション 1:npm からインストール
# Install globally
npm install -g @landicefu/android-adb-mcp-server
# Or install locally in your project
npm install @landicefu/android-adb-mcp-server
オプション 2:ソースから手動でインストール
-
リポジトリをクローンします。
git clone https://github.com/landicefu/android-adb-mcp-server.git cd android-adb-mcp-server -
依存関係をインストールしてビルドします。
npm install npm run build -
直接パスを指定して設定します。
{ "mcpServers": { "android-adb": { "command": "node", "args": ["/path/to/android-adb-mcp-server/build/index.js"], "env": {}, "disabled": false, "alwaysAllow": [] } } }
📄 ライセンス
このプロジェクトは ISC ライセンスのもとでライセンスされています。詳細については LICENSE ファイルをご覧ください。
🤝 コントリビューション
コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。