アイリ Android MCP について
アイリ Android MCPは、LLMからAndroidデバイスを操作するMCPサーバーで、airiの子プロジェクトです。画面入力、デバイス状態の取得、UI階層の参照、接続管理に対応します。
主な機能
- 01画面のタップ、スワイプ、テキスト入力
- 02キーとトラックボールの操作
- 03画面サイズとバッテリー状態の取得
- 04UI階層と現在のアクティビティの取得
- 05デバイス接続とシェルコマンドの実行
活用シーン
- 01LLMを通じたAndroidアプリ画面の操作
- 02性能、バッテリー、画面情報の確認
- 03UI構造とアクティビティ情報の調査
MCP 対応
MCPサーバーとして、HTTPまたはstdio経由でAndroidデバイスの操作・情報取得ツールをクライアントに公開します。Androidデバイスまたはエミュレーターへの接続が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
mcp.json · 共通設定
起動コマンド
docker run -i --rm -e USE_STDIO -e ADB_HOST ghcr.io/proj-airi/airi-android:v0.3.4設定が必要な環境変数
USE_STDIOADB_HOSTローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
パッケージ
oci
ghcr.io/proj-airi/airi-android:v0.3.4stdioツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
アイリ Android
airiすべてのLLMがAndroidデバイスを操作できるようにするMCP サーバーです。このプロジェクトはairiの子プロジェクトです。
機能
入力制御
input_tap- 指定した座標を画面上でタップしますinput_swipe- ある座標から別の座標までスワイプしますinput_text- デバイスにテキストを入力しますinput_keyevent- デバイスにキーイベントを送信しますinput_press- 現在のキーを押しますinput_roll- トラックボールを回転させます
デバイス情報
wm_size- 物理画面サイズを取得しますwm_density- ディスプレイ密度を取得しますcpu_percent- CPU使用率を取得しますcpu_count- CPUコア数を取得しますbattery_level- バッテリー残量を取得しますbattery_stats- 詳細なバッテリー統計情報を取得します
UIとアクティビティ
ui_get_hierarchy- UI階層(XML)を取得しますutils_top_activity- 最前面のアクティビティを取得しますutils_top_activities- すべての最前面のアクティビティを取得しますutils_package_version- パッケージのバージョン情報を取得します
デバイス管理
device_connect- 指定したホストとポートでデバイスに接続しますdevice_reset- デバイス接続をリセットしますshell_execute- 任意のシェルコマンドを実行します
使用方法
Docker(推奨)
docker run --rm -it -p 3000:3000 -e ADB_HOST=host.docker.internal ghcr.io/proj-airi/airi-android:v0.3.4
# or stdio mode
docker run --rm -i -e USE_STDIO=true -e ADB_HOST=host.docker.internal ghcr.io/proj-airi/airi-android:v0.3.4
MCPに対応したエージェントでは、次の設定を使用できます。
// mcp.json
{
"mcpServers": {
// http mode
"airi-android-http": {
"url": "http://localhost:3000/mcp"
},
// stdio mode
"airi-android-stdio": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"USE_STDIO=true",
"-e",
"ADB_HOST",
"ghcr.io/proj-airi/airi-android:v0.3.4"
],
"env": {
"ADB_HOST": "host.docker.internal"
}
}
}
}
直接実行
Bunのインストールが必要です。
# Install dependencies
bun install
# Start server (HTTP mode, port 3000)
bun run start
# Or use stdio mode
USE_STDIO=true bun run start
開発環境のセットアップ
前提条件
- Bunをインストールします
- Android Platform Toolsをインストールします
- Androidデバイスを接続します(USB経由、またはエミュレーターの場合は
adb connectを使用)
コマンド
# Install dependencies
bun install
# Run tests
bun test
# Start development server
bun run dev
# Build binary
bun run build
# Lint code
bun run lint
# Type check
bun run typecheck
貢献
コードのガイドラインについては、AGENTS.mdを参照してください。
環境変数
| 変数 | 説明 | デフォルト |
|---|---|---|
USE_STDIO | stdioトランスポートモードを使用するにはtrueに設定します | false |
ADB_HOST | ADBサーバーのホストアドレス | localhost |
技術スタック
- Bun - JavaScriptランタイム
- TypeScript - 型安全なJavaScript
- MCP SDK - Model Context Protocol SDK
- adbkit - ADBクライアントライブラリ
- Hono - Webフレームワーク
- Zod - スキーマ検証
ライセンス
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。