AndroidBuildMCP MCPサーバー
✓ 検証済みAIエージェントがAndroidアプリケーションのビルド、デプロイ、エミュレータの管理、およびUIオートメーションを実行できるようにします。
別名 dev-jackson/androidbuild-mcp, @asjackson/androidbuild-mcp
- スター
- 1
- ツール
- 53
- ダウンロード数(30日間)
- 275
- 最新バージョン
- 0.1.1
- 最終コミット
- 2026年7月28日
- ライセンス
- MIT
AndroidBuildMCP MCPとは
AndroidBuildMCPはMCPサーバーです。 AIエージェントがAndroidアプリケーションのビルド、デプロイ、エミュレータの管理、およびUIオートメーションを実行できるようにします。. 53個のツールを提供しており、doctor, discover_projects, list_modulesなどがあります。
プロジェクトのREADMEから生成された概要
AndroidBuildMCP MCP server について
このサーバーの主な機能は、AIクライアント内からAndroidアプリケーションの開発とテストを自動化することです。開発者やAIエージェントに対し、APKのビルド、ユニットテストおよびインストゥルメンテーションテストの実行、エミュレータの管理など、Androidプロジェクトのライフサイクル全体を管理する機能を提供します。Claude CodeやCursorなどのMCPクライアントに接続することで、エージェントはAndroid SDKやadbと直接やり取りし、複雑なタスクを実行できます。
これらのツールを使用するには、ローカルマシンにNode 18+、JDK 17+、およびAndroid SDKがインストールされている必要があります。サーバーは、ANDROID_HOMEパスを介してAndroid環境へのアクセスを必要とします。また、要素の座標を特定するためのインターフェースのスナップショット作成、注釈付きスクリーンショットのキャプチャ、スワイプ、ドラッグ、タイピングなどのユーザー操作のシミュレーションといった、UIオートメーション用の専用ツールが含まれています。さらに、ビルドエラーや実行時エラーの解決を支援するため、フィルタリングされたlogcatのキャプチャやクラッシュバッファを提供することで、デバッグも行います。
できること
- 1UIテストの自動化AIエージェントが特定の要素をタップしたり、画面のパーセンテージを使用したりすることでアプリを操作し、UIの安定性を確保できます。
- 2ビルド失敗のデバッグ開発者はエージェントを使用してコードをコンパイルし、長いGradleログの代わりに簡潔なエラーメッセージを受け取ることができます。
- 3エミュレータのライフサイクル管理エージェントが仮想デバイスの作成と起動を行い、テスト環境を自動的に準備できます。
- 4プロジェクトのスカフォールディングすぐに開発を開始できる新しいAndroidプロジェクトの構造を生成するようにAIに指示できます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
AndroidBuildMCP MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにAndroidBuildMCP MCPをインストール
$ claude mcp add androidbuild-mcp -- npx -y @asjackson/androidbuild-mcpCursorにAndroidBuildMCP MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"androidbuild-mcp": {
"command": "npx",
"args": [
"-y",
"@asjackson/androidbuild-mcp"
]
}
}
}VS CodeにAndroidBuildMCP MCPをインストール
.vscode/mcp.json
{
"servers": {
"androidbuild-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@asjackson/androidbuild-mcp"
]
}
}
}VS Code CLIにAndroidBuildMCP MCPをインストール
$ code --add-mcp '{"name":"androidbuild-mcp","type":"stdio","command":"npx","args":["-y","@asjackson/androidbuild-mcp"]}'Claude DesktopにAndroidBuildMCP MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"androidbuild-mcp": {
"command": "npx",
"args": [
"-y",
"@asjackson/androidbuild-mcp"
]
}
}
}CodexにAndroidBuildMCP MCPをインストール
$ codex mcp add androidbuild-mcp -- npx -y @asjackson/androidbuild-mcpCodex config.tomlにAndroidBuildMCP MCPをインストール
~/.codex/config.toml
[mcp_servers.androidbuild-mcp] command = "npx" args = ["-y", "@asjackson/androidbuild-mcp"]
Gemini CLIにAndroidBuildMCP MCPをインストール
$ gemini mcp add -s user androidbuild-mcp npx -- -y @asjackson/androidbuild-mcpGemini settings.jsonにAndroidBuildMCP MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"androidbuild-mcp": {
"command": "npx",
"args": [
"-y",
"@asjackson/androidbuild-mcp"
]
}
}
}AndroidBuildMCP MCPツール 53
READMEから検出doctordiscover_projectslist_moduleslist_variantsget_app_idshow_gradle_configsession_set_defaultssession_show_defaultssession_clear_defaultsbuild_appbuild_runtest_app
| doctor | — | |
| discover_projects | — | |
| list_modules | — | |
| list_variants | — | |
| get_app_id | — | |
| show_gradle_config | — | |
| session_set_defaults | — | |
| session_show_defaults | — | |
| session_clear_defaults | — | |
| build_app | — | |
| build_run | — | |
| test_app | — |
53個のツールをすべて表示ツールを折りたたむ
test_instrumentedlintcleanget_apk_pathstop_gradleget_coverage_reportget_file_coveragelist_deviceslist_avdsboot_emulatorkill_emulatorcreate_avddelete_avdset_emulator_locationset_appearancestatusbar_demo_modeinstall_applaunch_appstop_appuninstall_appclear_app_dataget_app_infosnapshot_uiscreenshottap_elementtapscrollswipedraglong_presstype_textkey_presskey_sequencewait_for_uiget_logsget_crash_logsstart_log_capturestop_log_capturerecord_video_startrecord_video_stopscaffold_android_project
| test_instrumented | — | |
| lint | — | |
| clean | — | |
| get_apk_path | — | |
| stop_gradle | — | |
| get_coverage_report | — | |
| get_file_coverage | — | |
| list_devices | — | |
| list_avds | — | |
| boot_emulator | — | |
| kill_emulator | — | |
| create_avd | — | |
| delete_avd | — | |
| set_emulator_location | — | |
| set_appearance | — | |
| statusbar_demo_mode | — | |
| install_app | — | |
| launch_app | — | |
| stop_app | — | |
| uninstall_app | — | |
| clear_app_data | — | |
| get_app_info | — | |
| snapshot_ui | — | |
| screenshot | — | |
| tap_element | — | |
| tap | — | |
| scroll | — | |
| swipe | — | |
| drag | — | |
| long_press | — | |
| type_text | — | |
| key_press | — | |
| key_sequence | — | |
| wait_for_ui | — | |
| get_logs | — | |
| get_crash_logs | — | |
| start_log_capture | — | |
| stop_log_capture | — | |
| record_video_start | — | |
| record_video_stop | — | |
| scaffold_android_project | — |
自動チェック
実行日 2026年11月14日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能dev-jackson/androidbuild-mcp is public and reachablegithub.com/dev-jackson/androidbuild-mcp ↗合格
- パッケージがこのリポジトリをソースとして指定@asjackson/androidbuild-mcp names dev-jackson/androidbuild-mcp as sourcenpmjs.com/package/@asjackson/androidbuild-mcp ↗合格
- ビルドの来歴 (Sigstore 証明)No build attestation published for this release未チェック
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-07-28github.com/dev-jackson/androidbuild-mcp ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していないNo popular package one edit away from @asjackson/androidbuild-mcp合格
- パッケージおよびその依存関係に重大な勧告なし124 resolved dependencies checked; no critical advisoryosv.dev ↗合格
- モデルへの隠れた指示がない53 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答未チェック
README
GitHubで見るAndroidBuildMCP
Give your AI agent hands on Android. AndroidBuildMCP is an MCP server that lets any MCP client (Claude Code, Cursor, ...) build, deploy, drive and debug real Android apps: Gradle builds with readable errors, emulator management, adb deployment, logcat capture and full UI automation.
Quick start
Requirements: Node 18+, the Android SDK (ANDROID_HOME or a default install), and a JDK 17+ for Gradle builds.
No install step — npx fetches the server on first run.
Claude Code
claude mcp add androidbuild -- npx -y @asjackson/androidbuild-mcp
Any other MCP client
{
"mcpServers": {
"androidbuild": {
"command": "npx",
"args": ["-y", "@asjackson/androidbuild-mcp"]
}
}
}
git clone https://github.com/dev-jackson/androidbuild-mcp.git
cd androidbuild-mcp
npm install && npm run build
claude mcp add androidbuild -- node /absolute/path/to/androidbuild-mcp/dist/index.js
Then ask your agent to run doctor — it checks the SDK, adb, emulator, Java and connected devices, and tells you exactly what is missing.
What your agent can do
- Build and test —
build_appcompiles and returns compactfile:linecompiler errors instead of a thousand lines of Gradle noise.test_app/test_instrumentedreturn parsed pass/fail summaries. Lint, clean, coverage (Kover/Jacoco) included. - Manage emulators — list, create, boot (waits for full boot, returns the serial), wipe, and kill AVDs. Set GPS location, dark mode, and a clean demo status bar for screenshots.
- Deploy —
build_runcompiles, installs and launches in one call. Install/uninstall/clear-data/app-info via adb, with the right device auto-selected when only one is connected. - See the screen —
snapshot_uireturns the UI as a compact list of named elements with tap coordinates (Compose semantics merged, noise filtered).screenshotreturns an image; withannotate: trueit draws numbered boxes using vision, catching text inside images and WebViews. - Touch the screen — tap, scroll, swipe, drag, long-press, type (keyboard-aware, with clear/submit), hardware keys, and
wait_for_uito poll until an element appears. - Read the logs — background logcat capture filtered to your app, one-shot dumps, and the crash buffer for stack traces.
- Start new apps —
scaffold_android_projectgenerates a minimal Compose project that builds out of the box.
Session defaults (session_set_defaults) mean you configure project, module, variant and device once — every other call then works without arguments.
Tool reference
53 tools over stdio. Every tool takes plain arguments and returns text (or an image, for screenshot).
Environment and project
| Tool | Description |
|---|---|
doctor |
Check SDK, adb, emulator, avdmanager, Java and connected devices; reports what is missing |
discover_projects |
Find Android/Gradle projects under a path |
list_modules |
List modules declared in settings.gradle(.kts) |
list_variants |
List build variants of a module |
get_app_id |
Read the applicationId of a module |
show_gradle_config |
Show Gradle, AGP, Kotlin and version-catalog entries |
Session defaults
| Tool | Description |
|---|---|
session_set_defaults |
Set default project, module, variant, serial and appId for all later calls |
session_show_defaults |
Show the current defaults |
session_clear_defaults |
Clear all defaults, or only the listed keys |
Build, test and quality
| Tool | Description |
|---|---|
build_app |
Build an APK; returns compact file:line compiler errors |
build_run |
Build, install and launch in one call |
test_app |
Run JVM unit tests with a parsed pass/fail summary |
test_instrumented |
Run instrumented tests on a device |
lint |
Run Android Lint and summarize the report |
clean |
Run gradle clean |
get_apk_path |
Locate the most recent APK without building |
stop_gradle |
Stop the project's Gradle daemons |
get_coverage_report |
Run Kover/Jacoco and summarize line coverage per package |
get_file_coverage |
Show covered/uncovered lines of one source file |
Devices and emulators
| Tool | Description |
|---|---|
list_devices |
List devices with serial, state, model, Android version, API level |
list_avds |
List AVDs and which are running |
boot_emulator |
Boot an AVD and wait for full boot; returns the serial |
kill_emulator |
Shut down a running emulator |
create_avd |
Create an AVD from an installed system image |
delete_avd |
Delete an AVD |
set_emulator_location |
Set GPS location |
set_appearance |
Switch dark/light mode |
statusbar_demo_mode |
Clean status bar for screenshots |
App lifecycle
| Tool | Description |
|---|---|
install_app |
Install an APK (adb install -r) |
launch_app |
Launch by application id, resolving the launcher activity |
stop_app |
Force-stop a running app |
uninstall_app |
Uninstall an app |
clear_app_data |
Reset an app to fresh-install state |
get_app_info |
Version, target/min SDK, install path, running PID |
UI automation
| Tool | Description |
|---|---|
snapshot_ui |
Dump the UI as named elements with exact tap coordinates |
screenshot |
Capture the screen; annotate: true draws numbered boxes |
tap_element |
Tap element #N from the last annotated screenshot |
tap |
Tap at pixels or screen percentages |
scroll |
Scroll in a direction with a safe computed swipe |
swipe |
Swipe between two points |
drag |
Drag from one point to another |
long_press |
Long-press, holding 1000 ms |
type_text |
Type into the focused field, waiting for the keyboard |
key_press |
Press BACK, HOME, ENTER, DPAD_*, or any keycode |
key_sequence |
Press several keys in order |
wait_for_ui |
Poll until an element appears |
Logs and recording
| Tool | Description |
|---|---|
get_logs |
One-shot logcat dump, filterable by app and tag |
get_crash_logs |
Crash buffer: Java exceptions, native crashes, ANRs |
start_log_capture |
Start background logcat capture to a file |
stop_log_capture |
Stop capture and return the file plus the last lines |
record_video_start |
Start screen recording (max 3 minutes) |
record_video_stop |
Stop recording and pull the MP4 |
Scaffolding
| Tool | Description |
|---|---|
scaffold_android_project |
Create a minimal Compose app that builds out of the box |
Tapping accurately
Everything adb-side shares one coordinate space (device pixels), but MCP clients often display screenshots scaled — estimating pixel positions by eye from the image sends taps to the wrong place. Three safe ways to hit the target:
snapshot_ui— returns exact device-pixel centers for every named element. Preferred.screenshot { annotate: true }+tap_element { element: N }— tap by the number drawn on the image; the mapping is resolved on the original PNG, so client-side scaling cannot distort it.tap { xPct, yPct }— screen percentages (0-1), also available on long_press/swipe/drag. Resolution-independent.
Raw tap { x, y } still works when you have real pixel coordinates.
Reliability
Every tool was exercised against real emulators and real projects — happy paths and corner cases — before release; the scenario-by-scenario evidence is in qa-results.md. Some of the details that keep agent flows from misfiring:
type_textwaits for the soft keyboard before injecting (typing right after focusing a field silently drops the first characters otherwise).scrollcomputes a long, slow swipe from the screen size — short fast swipes get ignored by some lists.long_pressholds 1000 ms, which launchers require.- Taps outside the screen are rejected with the actual screen size instead of silently doing nothing.
- Text-heavy screens (e-book WebViews and the like) are capped and searchable with
snapshot_ui { filter }instead of flooding the context. - Build/test/device failures come back as short, actionable messages with the next tool to call.
Optional extras
- Google's Android CLI enables
screenshot { annotate: true }.doctorprints the one-line installer for your OS. - The ADBKeyboard IME enables non-ASCII
type_text(adb alone is ASCII-only). Install its APK once; the server uses it automatically.
Development
npm install
npm test # unit tests (no real processes spawned)
npm run dev # run the server from source
npm run build # compile to dist/
License
MIT — see LICENSE.
Conceptually inspired by XcodeBuildMCP; independent implementation built around the Android toolchain.
AndroidBuildMCP MCPのよくある質問
AndroidBuildMCP MCPをClaude Codeに追加するには
ターミナルでclaude mcp add androidbuild-mcp -- npx -y @asjackson/androidbuild-mcpを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
AndroidBuildMCP MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
AndroidBuildMCP MCPが提供するツールは
53個のツールを提供しており、doctor, discover_projects, list_modules, list_variants, get_app_idなどがあります。
AndroidBuildMCPのシステム要件は何ですか?
Node 18+、Android SDK(ANDROID_HOME経由で設定、またはデフォルトのインストール)、およびGradleビルド用のJDK 17+が必要です。
環境が正しく設定されているか確認する方法はありますか?
doctorツールを実行することで、SDK、adb、エミュレータ、Java、および接続されているデバイスをチェックし、不足しているコンポーネントを報告できます。
正確なタップを保証するために、サーバーはUIオートメーションをどのように処理しますか?
サーバーは3つの安全な方法を提供します。正確なピクセル中心を取得するsnapshot_uiの使用、tap_elementを使用した注釈付きスクリーンショットの使用、またはtap { xPct, yPct }による画面パーセンテージの使用です。