MCP Androidエージェント
このプロジェクトは、 uiautomator2を用いてAndroidデバイスを自動化するための**MCP(Model Context Protocol)**サーバーを提供します。GitHub Copilot Chat、Claude、Open InterpreterなどのAIエージェントに簡単に接続でき、自然言語でAndroidデバイスを制御できるように設計されています。
クイックデモ


Related MCP server: Android ADB MCP Server
要件
Python 3.13以上
Android Debug Bridge (adb) がインストールされ、PATH に設定されている
USBデバッグが有効になっている接続されたAndroidデバイス
uiautomator2対応Androidデバイス
特徴
パッケージ名でアプリを起動、停止、管理する
インストールされたアプリと現在のフォアグラウンドアプリを取得する
タップ、スワイプ、スクロール、ドラッグ、UIインタラクションの実行
デバイス情報、画面解像度、バッテリー状態などを取得します
スクリーンショットや最後のトーストメッセージをキャプチャする
プログラムで画面のロックを解除、起動、スリープする
アプリのデータを消去してアクティビティを待つ
ヘルスチェックと
adb診断ツールが含まれています
ユースケース
最適な用途:
実際のデバイスと対話する必要があるAIエージェント
リモートデバイス制御の設定
自動化されたQAツール
Android ボット フレームワーク
UIテストと自動化
デバイスの管理と監視
インストール
1. リポジトリをクローンする
2. 仮想環境を作成してアクティブ化する
3. 依存関係をインストールする
サーバーの実行
オプション1: uvicorn を使用する (推奨)
オプション2: MCP stdio を使用する (AI エージェント統合用)
使用法
このサーバーを使用するには、MCPクライアントが必要です。Claude DesktopアプリはMCPクライアントの一例です。Claude Desktopでこのサーバーを使用するには、以下の手順に従ってください。
Claude Desktopの設定ファイルを見つける
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Android MCP サーバー構成を mcpServers セクションに追加します。
/path/to/mcp-adbこのリポジトリをクローンした場所の絶対パスに置き換えます。例: /Users/username/Projects/mcp-adb
VS Codeでの使用
このMCPサーバーはVS Codeのエージェントモード(VS Code 1.99以降が必要)でも使用できます。設定手順は以下のとおりです。
ワークスペースに
.vscode/mcp.jsonファイルを作成します。
/path/to/mcp-adbを、このリポジトリのクローンを作成した場所への絶対パスに置き換えます。
構成を追加したら、以下を使用してサーバーを管理できます。
コマンドパレット →
MCP: List Servers、構成されたサーバーを表示および管理します。コマンドパレット →
MCP: Start Serverでサーバーを起動しますサーバーのツールはVS Codeのエージェントモードチャットで利用可能になります

UIインスペクター
このプロジェクトには、デバイスのインターフェース構造を表示および分析するための強力な UI 検査ツールである uiauto.dev のサポートが含まれています。
UI インスペクターをインストールします。
インスペクターを起動します。
ブラウザを開き、 https://uiauto.devにアクセスします。

利用可能なMCPツール
ツール名 | 説明 |
| MCPサーバーが正常に動作しているかどうかを確認する |
| Androidデバイスに接続して基本情報を取得する |
| インストールされているすべてのアプリをバージョンとパッケージ情報とともに一覧表示します |
| 現在フォアグラウンドにあるアプリの情報を取得します |
| パッケージ名でアプリを起動する |
| パッケージ名でアプリを停止する |
| 現在実行中のアプリをすべて停止する |
| 画面をオンにする |
| 画面をオフにする |
| 詳細なデバイス情報を取得します: シリアル、解像度、バッテリーなど。 |
| ハードウェアキーの押下をシミュレートします (例:
、
、
など) |
| 画面のロックを解除します(必要に応じて電源を入れてスワイプします) |
| ADBがインストールされているかどうかを確認し、接続されているデバイスを一覧表示します |
| 画面がオンになるまで非同期に待機します |
|
、
、または
で要素をタップします |
| 要素を長押しする |
| 現在フォーカスされているフィールドにテキストを入力します(オプションでその前にクリア) |
| UI 要素 (テキスト、境界、クリック可能など) に関する情報を取得します。 |
| ある座標から別の座標へスワイプする |
| 要素が画面に表示されるまで待つ |
| デバイスからスクリーンショットを撮って保存する |
| 特定の要素が表示されるまでスクロールします |
| 要素を特定の画面位置にドラッグする |
| 画面に表示された最後のトーストメッセージを取得する |
| 指定したアプリのユーザーデータ/キャッシュを消去する |
| 特定のアクティビティが表示されるまで待つ |
| 現在の画面の UI 階層を XML としてダンプします。 |
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。