Android MCP Server是一个通过ADB协议提供设备控制、截图、UI分析等功能的服务器,可被客户端调用,利用 ADB (Android Debug Bridge) 对 Android 设备进行程序化控制,实现了 MCP (Model Context Protocol),可以让你通过 MCP 客户端(例如 Claude desktop 和 Cursor 等代码编辑器)访问和操作 Android 设备。Android MCP Server是一个桥梁,让你的开发工具能够更智能地与 Android 设备进行交互。
• ADB 命令执行:执行各种 ADB 命令,用来管理设备。
• 设备截图捕获:获取设备的屏幕截图。
• UI 布局分析:分析当前 UI 中的可点击元素。
• 设备包管理:管理设备上安装的应用包。
• Python 3.x
• 安装并配置 ADB(Android Debug Bridge)
• Android 设备或模拟器
1、克隆仓库:
git clone https://github.com/minhalvp/android-mcp-server.git
cd android-mcp-server
2、安装依赖项,使用 uv 进行项目管理。
3、配置:服务器使用简单的 YAML 配置文件(config.yaml)指定目标 Android 设备。
创建一个新的配置文件:
touch config.yaml
配置设备:
device:
name: "google-pixel-7-pro" # 你的设备标识符,从 'adb devices' 获取
你要需要一个 MCP 客户端来使用该服务器,以Claude 桌面应用程序为例。
要在 Claude 桌面中使用此服务器:
1、找到你的 Claude 桌面配置文件:
• Windows: %APPDATA%\Claude\claude_desktop_config.json
• macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
2、在 mcpServers
部分添加 Android MCP 服务器配置:
{
"mcpServers": {
"android": {
"command": "path/to/uv",
"args": [
" --directory ",
"path/to/android-mcp-server",
"run",
"server.py"
]
}
}
}
替换:
• path/to/uv
为你的 uv 可执行文件的真实路径。
• path/to/android-mcp-server
为你克隆此仓库的绝对路径。
服务器暴露了以下工具:
• get_packages()
:获取设备上安装的所有应用包,返回一个字符串形式的包列表。
• execute_adb_command(command: str)
:执行 ADB 命令并返回输出。
• get_uilayout()
:检索当前 UI 中的可点击元素信息,返回一个包含每个可点击元素的详细信息(如文本、内容描述、边界和中心坐标)的格式化字符串。
• get_screenshot()
:拍摄设备的屏幕截图并返回。
• get_package_action_intents(package_name: str)
:获取包的非数据动作,返回活动解析表中所有非数据动作的列表。