mcpField
M
mcp-android

mcp-android

ローカル
github.com/dockndevai開発ツール02 週間前に更新

mcp-android について

mcp-androidは、コンピューターからADB経由でAndroid端末を操作するMCPサーバーです。画面確認や端末操作に対応し、既定では読み取り専用で、書き込みや管理操作には設定可能な制限があります。

主な機能

  1. 01スクリーンショットとUI階層の取得
  2. 02通知とアプリ情報の確認
  3. 03タップ、スワイプ、入力、アプリ起動
  4. 04アラームとタイマーの設定
  5. 05アクセスモードと監査ログ

活用シーン

  1. 01AIエージェントによる端末画面の確認
  2. 02アプリ操作とテキスト入力の自動化
  3. 03通知の確認やタイマーの設定

MCP 対応

MCPサーバーは、Android端末の確認と操作に使うツールをMCPクライアントに公開します。既定は読み取り専用で、書き込みや管理操作には権限設定が必要です。破壊的な操作ではMCP elicitationを通じて人間の承認を求められます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dockndevai-mcp-android": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-android"
],
"env": {
"ANDROID_MODE": "<ANDROID_MODE>",
"ANDROID_ADB_PATH": "<ANDROID_ADB_PATH>",
"ANDROID_SERIAL": "<ANDROID_SERIAL>",
"ANDROID_TIMEOUT_MS": "<ANDROID_TIMEOUT_MS>",
"ANDROID_PACKAGE_ALLOWLIST": "<ANDROID_PACKAGE_ALLOWLIST>",
"ANDROID_PROTECTED_PACKAGES": "<ANDROID_PROTECTED_PACKAGES>",
"ANDROID_ALLOW_INSTALL": "<ANDROID_ALLOW_INSTALL>",
"ANDROID_ALLOW_SHELL": "<ANDROID_ALLOW_SHELL>",
"ANDROID_DRY_RUN": "<ANDROID_DRY_RUN>",
"ANDROID_AUDIT_LOG": "<ANDROID_AUDIT_LOG>"
}
}
}
}
起動コマンドnpx -y @dockndevai/mcp-android
設定が必要な環境変数
ANDROID_MODEAccess mode: read-only | read-write | admin.
ANDROID_ADB_PATHPath to the adb binary (default: adb on PATH).
ANDROID_SERIALTarget device serial from `adb devices`. Empty = the only connected device.
ANDROID_TIMEOUT_MSPer-command adb timeout in milliseconds.
ANDROID_PACKAGE_ALLOWLISTComma-separated package allowlist for launch/uninstall/clear. Empty = all.
ANDROID_PROTECTED_PACKAGESPackages that can be launched/inspected but never uninstalled or data-cleared.
ANDROID_ALLOW_INSTALLEnable install_apk / uninstall_app / clear_app_data (requires admin mode too).
ANDROID_ALLOW_SHELLEnable run_shell (arbitrary adb shell; requires admin mode too).
ANDROID_DRY_RUNValidate + log write/admin actions without executing them on the device.
ANDROID_AUDIT_LOGEmit a JSON audit line to stderr per guarded operation (default true).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dockndevai/mcp-android0.1.0

ツール

7

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

mcp-android

CI License: MIT npm

ADB 経由で Android スマートフォンを操作するModel Context Protocol サーバーです。Mac 操作サーバーのスマートフォン版です。Claude は画面(スクリーンショットと UI 階層)を確認し、タップ、文字入力、キー入力、アプリの起動、アラームやタイマーの設定、通知の読み取りを行えます。安全性をデフォルトで確保し、スイートのアクセスモードとフラグのモデルを採用しています。

コンピューター上で実行し、USB またはワイヤレスデバッグで接続したスマートフォンを操作します(Z Fold 7 に最適です)。スマートフォンにはインストールされず、root 権限も必要ありません。

iOS の場合は? 標準状態の iPhone はこの方法では操作できません。Apple のサンドボックスでは、アプリ間またはシステム全体にわたる自動化が禁止されています。現実的な方法(Mac から USB 経由で Appium/WebDriverAgent を使用する方法)については、別の mcp-ios リポジトリをご覧ください。

クイックスタート

brew install android-platform-tools        # provides adb
# On the phone: Settings → Developer options → enable USB (or Wireless) debugging, then authorize this computer
adb devices                                 # confirm your device shows "device"

npm から直接実行できます。クローンもビルドも不要です。

npx -y @dockndevai/mcp-android

または、Claude Code に1行で追加できます(まずは読み取り専用で開始します)。

claude mcp add android -e ANDROID_MODE="read-only" -- npx -y @dockndevai/mcp-android

Claude Desktop、Cursor、Codex、Windsurf、VS Code の設定については、docs/CLIENTS.md をご覧ください。

ソースからセットアップ

brew install android-platform-tools        # provides adb
adb devices                                 # confirm your device shows "device"
npm install && npm run build

ツール

読み取り(read-only 以上):list_devices、device_info、screenshot、ui_dump、current_app、list_apps、get_notifications

書き込み(read-write 以上):tap、swipe、input_text、press_key、launch_app、open_url、set_alarm、set_timer

管理者(admin):install_apk、uninstall_app、clear_app_data(ANDROID_ALLOW_INSTALL が必要)、run_shell(ANDROID_ALLOW_SHELL が必要。それ以外の場合は登録されません)

UI 操作の一般的な流れは、screenshot → ui_dump(境界を確認)→ tap/input_text です。

セキュリティモデル

項目フラグデフォルト
実行可能な操作ANDROID_MODEread-only
対象パッケージANDROID_PACKAGE_ALLOWLIST(すべて)
保護対象パッケージ(アンインストール/消去不可)ANDROID_PROTECTED_PACKAGESsettings、systemui、gms
インストール/アンインストール/消去を許可ANDROID_ALLOW_INSTALLfalse
生の adb shell を許可ANDROID_ALLOW_SHELLfalse
対話形式の確認(破壊的な操作)MCP エリシテーション(クライアント主導)(クライアントが対応している場合は有効)
デバイスに触れずにプレビューANDROID_DRY_RUNfalse
監査ログ(stderr)ANDROID_AUDIT_LOGtrue

接続されたクライアントが MCP のエリシテーションに対応している場合、破壊的な操作を行うツール(uninstall_app、clear_app_data、install_apk、run_shell)は一時停止し、実行前に人間に操作内容を確認して承認を求めます。モデルがユーザーに代わって承認することはできません。クライアントがエリシテーションに対応していない場合は、上記のアクセスモードとフラグによる制限が制御手段となります。

Claude Desktop/Claude Code で実行

{
  "mcpServers": {
    "android": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-android/dist/index.js"],
      "env": { "ANDROID_MODE": "read-write" }
    }
  }
}
プロンプトの例
  • 「スマートフォンのスクリーンショットを撮って、画面に何が表示されているか教えてください。」
  • 「午前6時30分に『ジム』というラベルのアラームを設定してください。」
  • 「時計アプリを開いて、10分のタイマーを開始してください。」
  • 「通知がたくさんたまっていますか?」

開発

npm run dev
npm test          # security policy
npm run typecheck

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。