mcpField
A
Android MCP

Android MCP

ローカル
github.com/tomdwipoAI・エージェント353 週間前に更新

Android MCP について

Android MCPは、Android端末の自動操作やテスト向けのMCPサーバーです。実機とエミュレーターに対応し、タッチ操作や状態確認などを提供します。

主な機能

  1. 01タップ、長押し、スワイプ、ドラッグ
  2. 02テキスト入力
  3. 03端末状態とスクリーンショットの取得
  4. 04ハードウェアボタンと通知パネルの操作
  5. 05実機とエミュレーターへの対応

活用シーン

  1. 01Androidアプリのテスト自動化
  2. 02端末上での画面操作
  3. 03端末状態の確認とスクリーンショット取得

MCP 対応

MCPクライアントにAndroid端末を操作するツールを公開します。タッチ操作、状態確認、ボタン操作、通知パネルへのアクセスが可能です。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Android MCP サーバー

Android オペレーティングシステムを自動化するための軽量な MCP(Model Context Protocol)サーバーです。このサーバーは Android デバイスを直接操作するツールを提供し、自動テスト、アプリの操作、デバイスの制御を可能にします。

機能

  • デバイス制御:Android デバイスでタップ、長押し、スワイプ、ドラッグ、文字入力を実行します
  • 状態管理:必要に応じて画面のスクリーンショットを含むデバイスの状態を取得します
  • ナビゲーション:ハードウェアボタンを押したり、通知にアクセスしたりできます
  • 自動化:タイミングを制御するための待機機能を提供します
  • エミュレーターのサポート:実機と Android エミュレーターの両方で動作します

前提条件

  • Python 3.13 以降
  • uv パッケージマネージャー
  • USB デバッグを有効にした Android デバイスまたはエミュレーター
  • インストール済みでアクセス可能な ADB(Android Debug Bridge)

インストール

1. uv をインストールする(未インストールの場合)
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# Alternative: using pip
pip install uv
2. プロジェクトをセットアップする
# Navigate to the android MCP directory
cd mcp/android

# Install dependencies
uv sync

# Activate the virtual environment (optional, uv run handles this automatically)
source .venv/bin/activate
3. インストールを確認する
# Test the server
uv run main.py --help

使用方法

サーバーの実行
実機の場合:
uv run main.py
Android エミュレーターの場合:
uv run main.py --emulator
デバイスのセットアップ
  1. Android デバイスで開発者向けオプションを有効にします:

    • 設定 > デバイス情報に移動します
    • 「ビルド番号」を 7 回タップします
  2. USB デバッグを有効にします:

    • 設定 > 開発者向けオプションに移動します
    • 「USB デバッグ」を有効にします
  3. デバイスを接続し、ADB 接続を確認します:

    adb devices
    

MCP サーバーの設定

MCP クライアントの設定(Claude Desktop、Cline など)に次の設定を追加します:

{
  "mcpServers": {
    "android-mcp": {
      "type": "stdio",
      "command": "bash",
      "args": [
        "-c",
        "cd /path/to/agent/mcp/android && source .venv/bin/activate && uv run main.py --emulator"
      ],
      "alwaysAllow": [
        "State-Tool",
        "Click-Tool",
        "Type-Tool",
        "Swipe-Tool"
      ]
    }
  }
}

注:設定内のパスは、実際のプロジェクトの場所に合わせて更新してください。

設定オプション
  • 実機の場合:args から --emulator フラグを削除します
  • 特定のデバイス:--device <device_id> を追加して、特定のデバイスを指定します
  • alwaysAllow:特定のツールを事前に承認し、繰り返し表示される権限確認を回避します

利用可能なツール

ツール説明パラメーター
Click-Tool指定した座標をタップしますx: int, y: int
State-Tool必要に応じてスクリーンショットを含むデバイスの状態を取得しますuse_vision: bool = false
Long-Click-Tool指定した座標を長押ししますx: int, y: int, duration: int
Swipe-Tool座標間をスワイプしますx1: int, y1: int, x2: int, y2: int
Type-Tool指定した座標にテキストを入力しますtext: str, x: int, y: int, clear: bool = false
Drag-Tool座標間でドラッグ&ドロップしますx1: int, y1: int, x2: int, y2: int
Press-Toolハードウェアボタンを押しますbutton: str
Notification-Tool通知パネルにアクセスしますなし
Wait-Tool指定した時間だけ待機しますduration: int

トラブルシューティング

よくある問題
  1. デバイスが見つからない:

    • USB デバッグが有効になっていることを確認します
    • adb devices の出力を確認します
    • 別の USB ケーブルやポートを試します
  2. アクセスが拒否される:

    • デバイスで USB デバッグの許可を承認します
    • adb devices でデバイスの認証状態を確認します
  3. 接続がタイムアウトする:

    • ADB を再起動します:adb kill-server && adb start-server
    • デバイスを再接続します
  4. Python バージョンの問題:

    • Python 3.13 以降がインストールされていることを確認します
    • 必要に応じて uv python install 3.13 を実行します
エミュレーターのセットアップ

Android エミュレーターを使用する場合:

  1. Android エミュレーターを起動します(通常は emulator-5554 としてアクセスできます)
  2. 接続を確認します:adb connect emulator-5554
  3. サーバーの実行時に --emulator フラグを使用します

開発

プロジェクト構成
mcp/android/
├── README.md
├── pyproject.toml
├── main.py           # MCP server entry point
├── src/
│   ├── mobile/       # Device interaction logic
│   └── tree/         # UI tree parsing and state management
└── .venv/           # Virtual environment
依存関係
  • mcp:Model Context Protocol フレームワーク
  • uiautomator2:Android デバイスの自動化
  • pillow:スクリーンショットの画像処理
  • ipykernel:Jupyter カーネルのサポート

コメント

MCP は初めてですか?

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

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