Skip to main content
Glama
nim444
by nim444

Python 3.13 CIパイプライン カバー率: 90% コードスタイル: ラフ ライセンス: MIT

MCP Androidエージェント

このプロジェクトは、 uiautomator2を用いてAndroidデバイスを自動化するための**MCP(Model Context Protocol)**サーバーを提供します。GitHub Copilot Chat、Claude、Open InterpreterなどのAIエージェントに簡単に接続でき、自然言語でAndroidデバイスを制御できるように設計されています。

クイックデモ

デモ


デモ

Related MCP server: Android ADB MCP Server

要件

  • Python 3.13以上

  • Android Debug Bridge (adb) がインストールされ、PATH に設定されている

  • USBデバッグが有効になっている接続されたAndroidデバイス

  • uiautomator2対応Androidデバイス

特徴

  • パッケージ名でアプリを起動、停止、管理する

  • インストールされたアプリと現在のフォアグラウンドアプリを取得する

  • タップ、スワイプ、スクロール、ドラッグ、UIインタラクションの実行

  • デバイス情報、画面解像度、バッテリー状態などを取得します

  • スクリーンショットや最後のトーストメッセージをキャプチャする

  • プログラムで画面のロックを解除、起動、スリープする

  • アプリのデータを消去してアクティビティを待つ

  • ヘルスチェックとadb診断ツールが含まれています

ユースケース

最適な用途:

  • 実際のデバイスと対話する必要があるAIエージェント

  • リモートデバイス制御の設定

  • 自動化されたQAツール

  • Android ボット フレームワーク

  • UIテストと自動化

  • デバイスの管理と監視

インストール

1. リポジトリをクローンする

git clone https://github.com/nim444/mcp-android.git cd mcp-android

2. 仮想環境を作成してアクティブ化する

# Using uv (https://github.com/astral-sh/uv) uv venv source .venv/bin/activate # On Windows: .venv\\Scripts\\activate

3. 依存関係をインストールする

uv pip install

サーバーの実行

オプション1: uvicorn を使用する (推奨)

uvicorn server:app --factory --host 0.0.0.0 --port 8000

オプション2: MCP stdio を使用する (AI エージェント統合用)

python server.py

使用法

このサーバーを使用するには、MCPクライアントが必要です。Claude DesktopアプリはMCPクライアントの一例です。Claude Desktopでこのサーバーを使用するには、以下の手順に従ってください。

Claude Desktopの設定ファイルを見つける

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Android MCP サーバー構成を mcpServers セクションに追加します。

{ "mcpServers": { "mcp-android": { "type": "stdio", "command": "bash", "args": [ "-c", "cd /path/to/mcp-adb && source .venv/bin/activate && python -m server" ] } } }

/path/to/mcp-adbこのリポジトリをクローンした場所の絶対パスに置き換えます。例: /Users/username/Projects/mcp-adb

VS Codeでの使用

このMCPサーバーはVS Codeのエージェントモード(VS Code 1.99以降が必要)でも使用できます。設定手順は以下のとおりです。

  1. ワークスペースに.vscode/mcp.jsonファイルを作成します。

{ "servers": { "mcp-android": { "type": "stdio", "command": "bash", "args": [ "-c", "cd /path/to/mcp-adb && source .venv/bin/activate && python -m server" ] } } }

/path/to/mcp-adbを、このリポジトリのクローンを作成した場所への絶対パスに置き換えます。

構成を追加したら、以下を使用してサーバーを管理できます。

  • コマンドパレット → MCP: List Servers 、構成されたサーバーを表示および管理します。

  • コマンドパレット → MCP: Start Serverでサーバーを起動します

  • サーバーのツールはVS Codeのエージェントモードチャットで利用可能になります

Vscode

UIインスペクター

このプロジェクトには、デバイスのインターフェース構造を表示および分析するための強力な UI 検査ツールである uiauto.dev のサポートが含まれています。

  1. UI インスペクターをインストールします。

uv pip install uiautodev
  1. インスペクターを起動します。

uiauto.dev
  1. ブラウザを開き、 https://uiauto.devにアクセスします。

ウイ

利用可能なMCPツール

ツール名

説明

mcp_health

MCPサーバーが正常に動作しているかどうかを確認する

connect_device

Androidデバイスに接続して基本情報を取得する

get_installed_apps

インストールされているすべてのアプリをバージョンとパッケージ情報とともに一覧表示します

get_current_app

現在フォアグラウンドにあるアプリの情報を取得します

start_app

パッケージ名でアプリを起動する

stop_app

パッケージ名でアプリを停止する

stop_all_apps

現在実行中のアプリをすべて停止する

screen_on

画面をオンにする

screen_off

画面をオフにする

get_device_info

詳細なデバイス情報を取得します: シリアル、解像度、バッテリーなど。

press_key

ハードウェアキーの押下をシミュレートします (例:

home

back

menu

など)

unlock_screen

画面のロックを解除します(必要に応じて電源を入れてスワイプします)

check_adb

ADBがインストールされているかどうかを確認し、接続されているデバイスを一覧表示します

wait_for_screen_on

画面がオンになるまで非同期に待機します

click

text

resourceId

、または

description

で要素をタップします

long_click

要素を長押しする

send_text

現在フォーカスされているフィールドにテキストを入力します(オプションでその前にクリア)

get_element_info

UI 要素 (テキスト、境界、クリック可能など) に関する情報を取得します。

swipe

ある座標から別の座標へスワイプする

wait_for_element

要素が画面に表示されるまで待つ

screenshot

デバイスからスクリーンショットを撮って保存する

scroll_to

特定の要素が表示されるまでスクロールします

drag

要素を特定の画面位置にドラッグする

get_toast

画面に表示された最後のトーストメッセージを取得する

clear_app_data

指定したアプリのユーザーデータ/キャッシュを消去する

wait_activity

特定のアクティビティが表示されるまで待つ

dump_hierarchy

現在の画面の UI 階層を XML としてダンプします。


ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nim444/mcp-android-server-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server