你是否曾经希望AI能够直接控制Android设备,自动执行ADB命令、截取屏幕、分析UI布局、管理应用包?今天要介绍的开源项目Android MCP控制服务器,正是为了实现这个目标而设计的。它通过ADB实现对Android设备的程序化控制,让AI能够管理Android设备。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | Android MCP 控制服务器 |
| GitHub地址 | https://github.com/minhalvp/android-mcp-server |
| 项目描述 | 一个通过ADB实现对Android设备程序化控制的服务器,提供截图捕获、UI布局分析和包管理等功能。 |
| 作者 | minhalvp |
| 开源协议 | Unknown |
| 开源状态 | 公开状态 |
| Languages | Python |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-04-23 |
一、项目介绍
Android MCP控制服务器是一个让AI能够通过ADB控制Android设备的MCP工具。它提供了设备截图捕获、UI布局分析、包管理和ADB命令执行等功能。
这个服务器提供了以下工具:
get_packages:获取设备上所有已安装的包execute_adb_command:执行ADB命令并返回输出get_uilayout:检索当前UI中可点击元素的信息get_screenshot:获取设备的截图get_package_action_intents:获取包的Activity操作列表
二、核心优势
设备控制全面
覆盖Android设备管理的核心功能:
- ADB命令执行
- 截图捕获
- UI布局分析
- 包管理
灵活设备选择
支持多种设备选择模式:
- 自动选择(单设备)
- 手动选择(多设备)
UI分析
可以获取当前UI中可点击元素的信息,包括文本、内容描述、边界和中心坐标。
包管理
支持获取已安装包列表和包的Activity操作。
三、适用场景
Android自动化测试
让AI自动执行ADB命令、截图、分析UI,实现自动化测试。
应用管理
AI可以获取已安装应用列表,分析应用组件。
UI自动化
AI可以分析UI布局,识别可点击元素。
设备监控
AI可以定期获取设备状态和截图。
四、安装教程
系统要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| Python | 运行环境 | [https://python.org/] (版本要求:3.11 或更高) |
| ADB | Android调试桥 | [https://developer.android.com/studio/command-line/adb] |
| Android设备或模拟器 | 测试目标 | 真机或模拟器 |
| MCP客户端 | 如Claude Desktop等 | 根据客户端官网下载 |
| UV | Python包管理器 | pip install uv |
安装步骤
第一步:安装ADB并连接设备
- 下载并安装ADB
- 启用设备的开发者选项和USB调试
- 连接设备并验证:
adb devices
第二步:克隆项目并安装依赖
git clone https://github.com/minhalvp/android-mcp-server.git
cd android-mcp-server
uv python install 3.11
uv sync第三步:配置设备(可选)
如果连接多个设备,创建config.yaml:
device:
name: "your-device-serial" # 从adb devices获取如果不配置,服务器会自动选择唯一连接的设备。
第四步:配置Claude Desktop
找到配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加配置:
{
"mcpServers": {
"android": {
"command": "/path/to/uv",
"args": ["--directory", "/path/to/android-mcp-server", "run", "server.py"]
}
}
}第五步:重启Claude Desktop
保存配置后,重启Claude Desktop。
五、使用示例
配置完成后,你就可以在MCP客户端中使用自然语言来控制Android设备了。
示例1:获取已安装包列表
用户指令:“获取设备上所有已安装的包”
AI会调用get_packages工具。
示例2:执行ADB命令
用户指令:“执行adb shell dumpsys battery命令”
AI会调用execute_adb_command工具:
{
"command": "shell dumpsys battery"
}示例3:获取UI布局
用户指令:“分析当前屏幕的可点击元素”
AI会调用get_uilayout工具,返回可点击元素的信息。
示例4:获取截图
用户指令:“截取当前设备屏幕”
AI会调用get_screenshot工具,返回截图。
示例5:获取包的操作意图
用户指令:“获取com.android.settings包的所有操作”
AI会调用get_package_action_intents工具:
{
"package_name": "com.android.settings"
}六、设备选择说明
单设备(自动选择)
只需确保仅连接一个设备,服务器会自动连接,无需配置。
多设备(手动选择)
- 运行
adb devices获取设备序列号 创建
config.yaml:device: name: "13b22d7f" # 设备序列号
无设备
如果未连接设备,服务器会显示“无设备”错误。
多设备无配置
如果连接多个设备且未指定设备,服务器会显示错误并列出所有可用设备。
七、常见问题
问题1:ADB命令找不到
解决方案:确保ADB已安装并添加到系统PATH。
问题2:设备未授权
解决方案:在设备上确认USB调试授权。
问题3:多设备选择错误
解决方案:在config.yaml中指定设备序列号。
问题4:Python版本要求
解决方案:需要Python 3.11或更高版本。
问题5:UV安装问题
解决方案:运行pip install uv安装UV包管理器。
八、总结
Android MCP控制服务器是一个让AI能够通过ADB控制Android设备的MCP工具,提供了截图、UI分析、包管理等核心功能。
这个项目的最大价值在于:
- 设备控制全面:覆盖ADB命令、截图、UI分析、包管理
- 灵活设备选择:支持单设备自动选择和多设备手动选择
- UI分析:可识别可点击元素的位置和属性
- 易于集成:通过MCP协议与AI客户端集成
- 开源免费:代码公开,可自由使用
如果你是Android开发者或测试工程师,并且希望用AI来自动化设备操作,Android MCP控制服务器是一个非常实用的工具。
设备序列号从adb devices获取。
配合其他MCP工具,可以构建自动化测试。
我用它来自动化Android截图任务。
希望未来能支持更多设备管理功能。
多设备时错误提示很清晰。