Android Emulator
БесплатноНе проверенControls Android emulators via ADB with structured UI text representation, reducing token usage by 60x compared to screenshots.
Описание
Controls Android emulators via ADB with structured UI text representation, reducing token usage by 60x compared to screenshots.
README
ADB経由でAndroidエミュレータを操作するMCP (Model Context Protocol) サーバー。スクリーンショットの代わりに構造化テキストでUI階層を取得し、トークン消費を約60分の1に削減します。
なぜ必要か
AIアシスタントがAndroidエミュレータを操作する場合、通常はスクリーンショットで画面を「見て」います。1枚あたり約10万トークン消費します。このMCPサーバーは画面状態を構造化テキスト(約3-4千トークン)で提供し、「このボタンを探してタップ」を1回の呼び出しで完結させます。
| 方式 | トークン/操作 | ツール呼び出し |
|---|---|---|
| スクリーンショット | ~245,000 | 4回 |
| このMCP | ~4,000 | 1回 |
ツール一覧
| ツール | 説明 |
|---|---|
get_ui_tree |
画面状態を構造化テキストで取得(スクショの代替) |
find_and_tap |
テキスト/ID/説明で要素を探してタップ、タップ後のUIも返す |
tap |
座標指定でタップ |
type_text |
テキスト入力(ASCIIは input text で直接入力。日本語等の非ASCIIはデバイスに ADBKeyBoard IME が必要、未インストールならエラー)。clear_first=true でフォーカス中フィールドを Ctrl+A → DEL でクリアしてから入力 |
press_key |
キー押下(BACK, HOME, ENTER等) |
swipe |
方向プリセットまたは座標指定でスワイプ |
screenshot |
圧縮JPEGスクリーンショット(UIツリーで不十分な場合のみ) |
wait_for_element |
要素が出現するまでポーリング |
device |
エミュレータ管理:起動/停止、APKインストール、アプリ起動 |
shell |
任意のADBシェルコマンド実行 |
batch |
複数アクションを1回の呼び出しで一括実行(高速) |
必要環境
- Node.js >= 20
- ADB(Android SDK Platform Tools)
- Androidエミュレータまたは実機
- ffmpeg(任意、スクリーンショット圧縮用)
セットアップ
1. インストール
npm install -g android-emulator-mcp
またはクローンしてビルド:
git clone https://github.com/cUDGk/android-emulator-mcp.git
cd android-emulator-mcp
npm install
npm run build
2. MCP設定
Claude Codeの設定ファイル(~/.claude/settings.json)に追加:
{
"mcpServers": {
"android": {
"type": "stdio",
"command": "node",
"args": ["/path/to/android-emulator-mcp/dist/index.js"],
"env": {
"ADB_PATH": "/path/to/adb",
"EMULATOR_PATH": "/path/to/emulator",
"DEFAULT_DEVICE": "emulator-5554"
}
}
}
}
adb と emulator がPATHに通っていれば、環境変数は省略可能です。
推奨AVD構成
このMCPはUIツリーをテキストで取得するため、高解像度・高スペックなAVDは不要です。以下は軽量&root可能な推奨構成です。
作成手順
# 1. システムイメージ(google_apis版。playstore版はrootが取れない)
sdkmanager "system-images;android-34;google_apis;x86_64"
# 2. AVD作成
avdmanager create avd -n claude_lite \
-k "system-images;android-34;google_apis;x86_64" \
-d pixel_2
config.ini の推奨値
~/.android/avd/<AVD名>.avd/config.ini を編集:
| 項目 | 値 | 理由 |
|---|---|---|
PlayStore.enabled |
no |
adb root を通すため |
hw.lcd.width / hw.lcd.height |
720 / 1280 |
UIダンプ高速化・bounds計算軽量化 |
hw.lcd.density |
280 |
720x1280と整合 |
hw.ramSize |
1536M〜8192M |
用途で選択(下表参照) |
hw.cpu.ncore |
2 |
大半のアプリで十分 |
hw.gpu.enabled / hw.gpu.mode |
yes / auto |
ブート時間短縮 |
showDeviceFrame |
no |
ウィンドウ縮小 |
hw.keyboard |
yes |
type_text でハードウェアキーボード入力を使うため |
RAM サイズの目安
| 用途 | RAM | 備考 |
|---|---|---|
| 軽量アプリ・Webブラウジング | 1536M | デフォルト |
| 一般アプリ・SNS | 3072M | バランス型 |
| 重量アプリ・ゲーム | 8192M | Unityゲーム等 |
※ホストメモリの25%以下を目安に。
起動確認
device(action="start_emulator", avd_name="claude_lite")
emulator -list-avds に出ているAVDはMCPから直接 avd_name に渡せます。
UIツリー出力
スクリーンショットの代わりに get_ui_tree が構造化テキストを返します:
[activity=com.android.chrome/.ChromeTabbedActivity]
FrameLayout #content [0,42][720,1238]
WebView t="Wikipedia" [S] [0,140][720,1155]
Button #searchIcon t="検索" [C] [600,200][680,260]
FrameLayout #toolbar_container [0,42][720,140]
EditText #url_bar t="ja.wikipedia.org" [C][F] [52,56][668,98]
[436 nodes -> 89 shown, filter=visible]
フラグ: [C]=クリック可, [S]=スクロール可, [F]=フォーカス中, [K]=チェック済, [X]=選択中, [!E]=無効, [P]=パスワード
フィルターモード
visible(デフォルト): bounds が [0,0][0,0] のノードと空コンテナを除外interactive: クリック可/スクロール可/フォーカス可の要素のみall: 全ノード表示
使用例
ボタンを探してタップ
find_and_tap(by="text", value="ログイン")
検索欄に入力
find_and_tap(by="id", value="search_bar")
type_text(text="hello world", submit=true)
スクロール
swipe(direction="up")
複数操作を一括実行
batch(actions=[
{"action":"find_and_tap", "by":"text", "value":"Chrome"},
{"action":"sleep", "ms":500},
{"action":"find_and_tap", "by":"id", "value":"url_bar"},
{"action":"type", "text":"ノネコ wikipedia", "submit":true}
])
注意: batch の action 名は単体ツールと一部異なる(type ⇔ type_text、key ⇔ press_key)。利用可能な action: tap, find_and_tap, type, key, swipe, sleep, shell。
エミュレータ起動
device(action="start_emulator", avd_name="claude_lite")
ライセンス
MIT
Установка Android Emulator
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/cudgk/android-emulator-mcpFAQ
Android Emulator MCP бесплатный?
Да, Android Emulator MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Android Emulator?
Нет, Android Emulator работает без API-ключей и переменных окружения.
Android Emulator — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Android Emulator в Claude Desktop, Claude Code или Cursor?
Открой Android Emulator на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
автор: passerbyflutterdannote/figma-use
Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.
автор: dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
автор: NOVA-3951Design Inspiration Server
Searches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to re
автор: YonasValentinCompare Android Emulator with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории design
