Integrations
Enables interaction with Android devices through ADB, allowing management of devices, execution of shell commands, installation/uninstallation of apps, file transfers, app launching, and taking screenshots.
Supports Linux systems with equivalent application directories and requires xclip for clipboard functionality when working with Android devices.
Supports macOS systems with specific configuration paths and uses built-in osascript for clipboard functionality with Android devices.
Android ADB MCP 服务器
模型上下文协议 (MCP) 服务器,使 AI 助手能够通过 Android 调试桥 (ADB) 与 Android 设备交互。该服务器弥合了 AI 功能与 Android 设备管理之间的差距,从而实现了 Android 开发和测试操作的无缝自动化。
⚙️ 快速设置
将服务器添加到您的 MCP 配置文件:
配置位置
- 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 中
- 在 Windows、macOS 或 Linux 上安装 ADB
- 通过在终端中运行
adb version
来验证安装
- 对于剪贴板功能:
- macOS :
osascript
(内置) - Windows :PowerShell(内置)
- Linux :
xclip
(通过apt-get install xclip
或同等方法安装)
- macOS :
- 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 安装
选项 2:从源手动安装
- 克隆存储库:Copy
- 安装依赖项并构建:Copy
- 使用直接路径配置:Copy
📄 许可证
该项目根据 ISC 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
🤝 贡献
欢迎贡献代码!欢迎提交 Pull 请求。
- 分叉存储库
- 创建你的功能分支(
git checkout -b feature/amazing-feature
) - 提交您的更改(
git commit -m 'Add some amazing feature'
) - 推送到分支(
git push origin feature/amazing-feature
) - 打开拉取请求
This server cannot be installed
模型上下文协议服务器,使 AI 助手能够通过 ADB 与 Android 设备交互,从而实现自动化设备管理、应用程序安装、文件传输和屏幕截图。