Android MCP 服务器
MCP(模型上下文协议)服务器,通过 ADB(Android 调试桥)提供对 Android 设备的编程控制。该服务器提供各种 Android 设备管理功能,可供 MCP 客户端(例如Claude 桌面和代码编辑器,例如Cursor )访问。
特征
🔧 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
"""
贡献
欢迎投稿!
致谢