Android ADB MCP 服务器
模型上下文协议 (MCP) 服务器,使 AI 助手能够通过 Android 调试桥 (ADB) 与 Android 设备交互。该服务器弥合了 AI 功能与 Android 设备管理之间的差距,从而实现了 Android 开发和测试操作的无缝自动化。
⚙️ 快速设置
将服务器添加到您的 MCP 配置文件:
{
"mcpServers": {
"android-adb": {
"command": "npx",
"args": ["-y", "@landicefu/android-adb-mcp-server"],
"env": {},
"disabled": false,
"alwaysAllow": []
}
}
}
配置位置
- Claude 桌面:
~/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(Android 调试桥)**并将其添加到系统 PATH 中
- 对于剪贴板功能:
- macOS :
osascript
(内置) - Windows :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 kill-server
重新启动 ADB,然后使用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 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
🤝 贡献
欢迎贡献代码!欢迎提交 Pull 请求。
- 分叉存储库
- 创建你的功能分支(
git checkout -b feature/amazing-feature
) - 提交您的更改(
git commit -m 'Add some amazing feature'
) - 推送到分支(
git push origin feature/amazing-feature
) - 打开拉取请求