Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Let AI agents see and control an Android phone over ADB, with safety guards.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ADB_SERIAL, ALLOW_SHELL, ALLOW_SENSITIVE, SENSITIVE_PACKAGES, RATE_LIMIT_PER_MIN, ADB_PATH必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"android-use": {
"command": "npx",
"args": [
"-y",
"@ghostfacemodz/android-use"
],
"env": {
"ADB_SERIAL": "your-value",
"ALLOW_SHELL": "your-value",
"ALLOW_SENSITIVE": "your-value",
"SENSITIVE_PACKAGES": "your-value",
"RATE_LIMIT_PER_MIN": "your-value",
"ADB_PATH": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add android-use --env ADB_SERIAL=your-value --env ALLOW_SHELL=your-value --env ALLOW_SENSITIVE=your-value --env SENSITIVE_PACKAGES=your-value --env RATE_LIMIT_PER_MIN=your-value --env ADB_PATH=your-value -- npx -y @ghostfacemodz/android-use動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"android-use": {
"command": "npx",
"args": [
"-y",
"@ghostfacemodz/android-use"
],
"env": {
"ADB_SERIAL": "your-value",
"ALLOW_SHELL": "your-value",
"ALLOW_SENSITIVE": "your-value",
"SENSITIVE_PACKAGES": "your-value",
"RATE_LIMIT_PER_MIN": "your-value",
"ADB_PATH": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"android-use": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ghostfacemodz/android-use"
],
"env": {
"ADB_SERIAL": "your-value",
"ALLOW_SHELL": "your-value",
"ALLOW_SENSITIVE": "your-value",
"SENSITIVE_PACKAGES": "your-value",
"RATE_LIMIT_PER_MIN": "your-value",
"ADB_PATH": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
ADB_SERIAL envALLOW_SHELL envALLOW_SENSITIVE envSENSITIVE_PACKAGES envRATE_LIMIT_PER_MIN envADB_PATH envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント GhostFaceModz で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは17 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, topo^alpin
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Let AI agents see and control an Android phone over ADB, with safety guards built in.
android-use is a Model Context Protocol (MCP) server. Any MCP-capable app (Claude Desktop, Claude Code, Cursor, Hermes Agent and others) can use it to take screenshots, read the on-screen UI, tap, swipe, type, press keys and launch apps on a real Android device. Since v0.3 it can also run as a remote connector: a private https://…/mcp URL you paste into Claude.ai, ChatGPT, Cursor, LibreChat, Open WebUI or LM Studio.
npx -y @ghostfacemodz/android-use # local (stdio) MCP server
npx -y @ghostfacemodz/android-use setup # guided setup as a remote connector (URL + key)
With a computer (Windows, macOS or Linux):
winget install Google.PlatformTools · brew install android-platform-tools · sudo apt install adb). npx -y @ghostfacemodz/android-use setup
It checks adb, finds your phone (and helps you adb pair / adb connect if needed), creates your own secret token, starts the server, and offers to open a public https:// link through a free Cloudflare quick tunnel (it downloads cloudflared for you). It then prints your connector URL, key and copy-paste configs.
npx -y @ghostfacemodz/android-use start --tunnel.With only the phone (no PC, no root): install Termux and run one command. See [docs/PHONE-ONLY.md](docs/PHONE-ONLY.md).
Just want a local MCP server for Claude Desktop / Cursor? Skip setup and use the stdio configs in Add it to your MCP client.
Formerly `android-adb-mcp`. The tools, environment variables and behaviour are unchanged; only the package name, binary name (
android-use) and MCP server name changed.
⚠️ Read [Safety](#safety) before you connect a phone you care about. An AI with this tool can do anything you could do by tapping the screen.
*Not affiliated with, endorsed by, or sponsored by Google, Android or Samsung. "Android" is a trademark of Google LLC.*
android-use is a small TypeScript wrapper around the adb command-line tool. It talks to your MCP client over stdio (default) or Streamable HTTP (--http, setup, start) and has two runtime dependencies (@modelcontextprotocol/sdk and zod).
Example: *"Open YouTube and search for lo-fi beats."*
current_app → com.sec.android.app.launcheropen_app { package: "com.google.android.youtube" }ui_dump → #4 ImageView [clickable] desc="Search" center=980,140 …tap_element { text: "Search" }type_text { text: "lo-fi beats" }, then key_event { key: "enter" }screenshot to check the resultYou talk to your AI assistant normally. It works out the steps and uses android-use to carry them out on your phone: it looks at the screen (ui_dump, screenshot), acts (open_app, tap_element, tap, swipe, type_text, key_event) and checks the result before moving on. The phone needs to be unlocked.
The full guide, with step-by-step walkthroughs, more prompts and limits for each use case, is in [docs/USE-CASES.md](docs/USE-CASES.md).
Put on a video or stream, start music, open navigation, or set an alarm or timer while your hands are busy.
*Real example:* an assistant connected to a phone over Tailscale and Wireless debugging opened a YouTube channel's newest video, then switched to another channel's live stream, all from a chat message while the owner was away from the phone.
Tips: ask for list_apps if you don't know an app's package name. type_text is ASCII-only, so searches with accents or emoji won't type. More detail →
Clear notifications, check for updates, or run the same daily flow, such as collecting a daily reward. Pair it with an AI agent that can run on a schedule (for example a cron job running Claude Code headless) to make it happen every morning.
swipe from the top edge → tap_element "Clear" → key_event homeopen_app → screenshot → tap_element "Collect" → key_event homeLimits: Google Play is on the sensitive-app list by default (it can make purchases), so use Play's own auto-update instead. Scheduled runs fail if the phone has locked. Respect each app's terms of service: many games and apps ban automation and can suspend accounts for it. More detail →
Use mobile-only features, such as TikTok's editor or Instagram Stories, without a third-party scheduler, because the assistant drives the real app.
ui_dump + swipe)Keep a human in the loop: have the assistant stop on the final screen and send a screenshot, and write or approve captions yourself. Emoji can't be typed. Respect platform rules on automated activity; no bulk liking, following or fake engagement. More detail →
If touchscreens are hard for you, you can control the phone by talking or typing to an AI in plain language, and have it read the screen back using ui_dump (on-screen text) and screenshot (images and anything unlabelled).
key_event back, swipe, key_event volume_down)Be realistic: this complements Android's built-in tools such as TalkBack and Voice Access; it doesn't replace them. Those run on the phone, work offline and work on the lock screen. android-use needs a computer, a connection, an AI service and an unlocked phone, and it's slower. More detail →
Fix a relative's settings from anywhere over Tailscale plus ADB debugging: turn the ringer back on, enlarge the text, or find a missing app icon. Set ADB_SERIAL to their phone so nothing else can be touched.
Always with their consent. They grant access by accepting the "Allow USB debugging?" prompt, and they can switch it off at any time by turning off USB/Wireless debugging or disconnecting Tailscale. Leave the sensitive-app guard on. More detail →
In short: anything you could do by tapping the unlocked screen, the AI can do too, within the limits of what ADB allows and the guards below. This is based on the code in src/; the full breakdown has more detail.
| Can | Can't | Off by default |
|---|---|---|
See the screen (screenshot) | Get past the lock screen or bypass your PIN | Raw shell tool (ALLOW_SHELL=1) |
Read the UI as text (ui_dump) | Root the phone or gain system privileges | Banking, payment, messaging and password apps (ALLOW_SENSITIVE=1) |
| Tap, long-press, swipe | Read apps' private data (chats, databases, saved logins) | Device allowlist: off until you set ADB_SERIAL (recommended) |
| Type text (printable ASCII only) | Do anything when USB and Wireless debugging are off | |
| Press keys (home, back, recents, volume, power, enter…) | Type emoji or non-ASCII text | |
| Open apps, list apps, see the foreground app | Hear or speak on phone calls |
What it can't do, in more detail. It can wake the screen but can't unlock it without your PIN, pattern or password. ADB runs as Android's limited shell user, so it can't root the phone or read other apps' private storage; it only sees what's on screen, and screens that apps mark as secure show up black. If USB and Wireless debugging are off, or the phone hasn't authorised your computer, nothing works.
Safety guards that exist in the code:
list_devices. The first entry is used by default.screenshot, ui_dump, tap, tap_element, swipe, long_press, type_text and most keys are refused while a sensitive app is in the foreground, and open_app won't launch one. Blocked by default: Google Wallet, Samsung Wallet/Pay, PayPal, Venmo, Cash App, Zelle, Coinbase, WhatsApp, Telegram, Signal, Google Messages, Samsung Messages, Messenger and Google Play, plus any package whose name contains bank, wallet, pay, finance, crypto, authenticator, messag, signal, keepass, bitwarden or 1password. Add more with SENSITIVE_PACKAGES. Home, back, recents and power always work. It matches package names, so it's a best-effort heuristic: many banking apps need adding by hand.1, the shell tool isn't registered at all. If enabled, it isn't covered by the sensitive-app guard.120 calls per rolling minute).Revoke access instantly: on the phone, turn off Wireless debugging or USB debugging (or unplug). For a full reset, use Developer options → Revoke USB debugging authorisations, disconnect Tailscale, or restart the phone (which ends adb tcpip sessions).
Recommended safe setup:
ADB_SERIAL to j冒頭だけを表示しています。続きはリポジトリで読めます