安卓ADB MCP服务器
一种模型上下文协议(MCP)服务器,使AI助手能够通过Android调试桥(ADB)与Android设备进行交互。该服务器弥合了人工智能功能和Android设备管理之间的差距,实现了Android开发和测试操作的无缝自动化。
⚙️ 快速设置
将服务器添加到MCP配置文件中:
{
"mcpServers": {
"android-adb": {
"command": "npx",
"args": ["-y", "@landicefu/android-adb-mcp-server"],
"env": {},
"disabled": false,
"alwaysAllow": []
}
}
}配置位置
- 克劳德桌面:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) - Cline/Roo代码:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json(macOS) - 对于Windows/Linux,请检查等效的应用程序支持目录
配置后,重新启动AI助手以加载新的服务器配置。
📋 先决条件
- ADB(安卓调试桥) 必须在系统PATH中安装并可用
- 在Windows、macOS或Linux上安装ADB - 通过运行验证安装 adb version 在您的终端
- 对于剪贴板功能:
- macOS: osascript (内置) - 视窗:PowerShell(内置) - Linux: xclip (通过安装 apt-get install xclip 或同等)
- Node.js 16.x或更高版本
🚀 特性
- 连接并管理多个Android设备
- 在Android设备上执行shell命令
- 安装和卸载应用程序
- 在本地系统和Android设备之间推送和拉取文件
- 在Android设备上启动应用程序
- 截取屏幕截图并将其保存在本地或复制到剪贴板
- 连接多个设备时的智能设备选择
🛠️ 可用工具
| 工具 | 说明 | 必需参数 | 可选参数 |
|---|---|---|---|
adb_devices | 列出已连接的设备 | 无 | 无 |
adb_shell | 执行shell命令 | command | device_id |
adb_install | 安装APK文件 | path | device_id |
adb_uninstall | 卸载应用程序 | package_name | device_id |
adb_list_packages | 列出已安装的软件包 | 无 | device_id, filter |
adb_pull | 从设备中提取文件 | remote_path, local_path | device_id |
adb_push | 将文件推送到设备 | local_path, remote_path | device_id |
launch_app | 启动应用程序 | package_name | device_id |
take_screenshot_and_save | 截取并保存屏幕截图 | output_path | device_id, format |
take_screenshot_and_copy_to_clipboard | 将屏幕截图复制到剪贴板 | 无 | device_id, format |
设备管理
服务器智能地处理设备选择:
- 如果只连接了一个设备,它将自动使用
- 如果连接了多个设备,则必须指定
device_id参数 - 如果没有连接设备,将返回错误
屏幕截图路径分辨率
指定时 output_path 为了保存屏幕截图,路径解析如下:
- 绝对路径按原样使用
- 以开头的路径
~扩展到用户的主目录 - 相对路径是相对于用户的主目录解析的
这可确保屏幕截图保存到MCP服务器具有写入权限的位置。
🔍 故障排除
常见问题
- “ADB不可用”错误
- 确保ADB已安装并位于系统PATH中 - 通过运行验证 adb version 在您的终端
- “未连接Android设备”错误
- 检查您的设备是否已正确连接 adb devices - 确保您的设备上启用了USB调试 - 尝试使用以下命令重新启动ADB adb kill-server 随后 adb start-server
- “多个设备已连接”错误
- 指定 device_id 工具调用中的参数 - 使用获取可用设备列表 adb_devices 工具
- 剪贴板截图不起作用
- 确保安装了所需的平台专用工具
🔧 替代安装方法
选项1:从npm安装
# Install globally
npm install -g @landicefu/android-adb-mcp-server
# Or install locally in your project
npm install @landicefu/android-adb-mcp-server选项2:从源手动安装
- 克隆存储库:
git clone https://github.com/landicefu/android-adb-mcp-server.git
cd android-adb-mcp-server- 安装依赖项并构建:
npm install
npm run build- 配置直接路径:
{
"mcpServers": {
"android-adb": {
"command": "node",
"args": ["/path/to/android-adb-mcp-server/build/index.js"],
"env": {},
"disabled": false,
"alwaysAllow": []
}
}
}📄 许可证
此项目根据ISC许可证获得许可-有关详细信息,请参阅许可证文件。
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
