Android MCP サーバー
ADB(Android Debug Bridge)を介してAndroidデバイスをプログラム的に制御するMCP(Model Context Protocol)サーバー。このサーバーは、 Claudeデスクトップやコードエディター(例: Cursor )などのMCPクライアントからアクセスできるさまざまなAndroidデバイス管理機能を公開します。
特徴
🔧 ADBコマンドの実行
📸 デバイスのスクリーンショットキャプチャ
🎯 UIレイアウト分析
📱 デバイスパッケージ管理
Related MCP server: UIAutomator2 MCP Server
前提条件
インストール
リポジトリをクローンします。
git clone https://github.com/minhalvp/android-mcp-server.git
cd android-mcp-server
依存関係のインストール: このプロジェクトは、さまざまなインストール方法を通じてプロジェクト管理にuvを使用します。
uv python install 3.11
uv sync
構成
サーバーは、シンプルなYAML構成ファイル( config.yaml )を使用して、対象のAndroidデバイスを指定します。
構成のカスタマイズ
新しい構成ファイルを作成します。
デバイスを構成します。
device:
name: "google-pixel-7-pro:5555" # Your device identifier from 'adb devices'
使用法
このサーバーを使用するには、MCPクライアントが必要です。Claude DesktopアプリはMCPクライアントの一例です。Claude Desktopでこのサーバーを使用するには、以下の手順に従ってください。
Claude Desktop 構成ファイルを見つけます。
Android MCP サーバー構成をmcpServersセクションに追加します。
{
"mcpServers": {
"android": {
"command": "path/to/uv",
"args": ["--directory", "path/to/android-mcp-server", "run", "server.py"]
}
}
}
交換する:
https://github.com/user-attachments/assets/c45bbc17-f698-43e7-85b4-f1b39b8326a8
利用可能なツール
サーバーは次のツールを公開します。
def get_packages() -> str:
"""
Get all installed packages on the device.
Returns:
str: A list of all installed packages on the device as a string
"""
def execute_adb_command(command: str) -> str:
"""
Executes an ADB command and returns the output.
Args:
command (str): The ADB command to execute
Returns:
str: The output of the ADB command
"""
def get_uilayout() -> str:
"""
Retrieves information about clickable elements in the current UI.
Returns a formatted string containing details about each clickable element,
including their text, content description, bounds, and center coordinates.
Returns:
str: A formatted list of clickable elements with their properties
"""
def get_screenshot() -> Image:
"""
Takes a screenshot of the device and returns it.
Returns:
Image: the screenshot
"""
def get_package_action_intents(package_name: str) -> list[str]:
"""
Get all non-data actions from Activity Resolver Table for a package
Args:
package_name (str): The name of the package to get actions for
Returns:
list[str]: A list of all non-data actions from the Activity Resolver
Table for the package
"""
貢献
貢献を歓迎します!
謝辞