ADB MCP 服务器
一个 MCP(模型上下文协议)服务器,用于通过 ADB 与 Android 设备交互。这个基于 TypeScript 的工具在 AI 模型和 Android 设备功能之间架起了一座桥梁。
特征
- 📱 设备管理 - 列出已连接的 Android 设备并与之交互
- 📦 应用安装 - 将 APK 文件部署到连接的设备
- 📋 日志记录 - 通过 logcat 访问设备日志
- 🔄 文件传输 - 在设备和主机之间推送和拉取文件
- 📸 UI 交互 - 捕获屏幕截图并分析 UI 层次结构
- 🔧 Shell 命令执行 - 在设备上运行自定义命令
先决条件
- Node.js(建议使用 v16 或更高版本,已使用 Node.js v16、v18 和 v20 进行测试)
- ADB(Android 调试桥)已安装并位于您的 PATH 中
- 通过 USB 或网络连接的 Android 设备或模拟器,并启用 USB 调试
- 访问设备的权限(接受设备上的调试授权)
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 ADB Android 设备服务器:
npx -y @smithery/cli install @srmorete/adb-mcp --client claude
手动安装
# Clone the repository
git clone https://github.com/srmorete/adb-mcp.git
cd adb-mcp
# Install dependencies
npm install
# Build the TypeScript code
npm run build
# Run the server
npx adb-mcp
配置
ADB 路径配置
服务器使用默认 ADB 路径。对于自定义 ADB 位置:
export ADB_PATH=/path/to/adb
npx adb-mcp
MCP 配置
添加 ADB MCP 服务器配置:
{
"mcpServers": {
"adb": {
"command": "npx",
"args": [
"adb-mcp"
]
}
}
}
用法
启动服务器
重要提示:使用任何 ADB 工具之前,服务器必须正在运行。
使用以下命令启动服务器:
您应该看到:
[INFO] ADB MCP Server connected and ready
使用 ADB 工具时保持此终端窗口打开。
可用工具
所有工具均遵循以下命名约定:
📱设备管理
adb_devices
列出已连接的设备adb_shell
- 在设备上执行 shell 命令
📦应用管理
adb_install
- 使用本地文件路径安装 APK 文件
📋 日志记录
adb_logcat
- 使用可选过滤功能查看设备日志
🔄 文件传输
adb_pull
- 从设备中提取文件adb_push
将文件推送到设备
🔍 UI 交互
dump_image
- 截取当前屏幕的屏幕截图inspect_ui
- 获取 XML 格式的 UI 层次结构(对于 AI 交互最有用)
故障排除
如果工具不起作用:
- 服务器问题:
- 确保服务器正在运行(
npx adb-mcp
) - 检查服务器输出中的错误消息
- 尝试详细日志:
LOG_LEVEL=3 npx adb-mcp
- 杀死挂起的进程:
ps aux | grep "adb-mcp" | grep -v grep
- 然后
kill -9 [PID]
- 设备连接:
- 验证与
adb_devices
的连接 - 如果“未授权”,则接受设备上的调试授权
- 检查 USB/网络连接
- 尝试重新启动 ADB:
adb kill-server && adb start-server
- 亚行问题:
- 设备设置:
- 使用模拟器(它是使用一个模拟器构建的),对于真实设备也许可以尝试这个:
- 确保已启用 USB 调试
- 对于较新的 Android 版本,启用“USB 调试(安全设置)”
- 尝试不同的 USB 端口或电缆
- 或者在问题中告诉我
兼容性
- Android 8.0 及更高版本
- MCP 客户端包括 Cursor IDE 中的 Claude
- 是基于 macOS 构建的,但应该可以在任何 POSIX 兼容系统(Linux 等)上运行。
- 没有在 Windows 上尝试过,但也许有效。
贡献
- 欢迎贡献!提交 Pull 请求。
- 对于重大更改,请先打开问题进行讨论。
- 当然,你也可以 fork 它
- **注意:**这个项目是
vibe-coded
所以如果你发现一些奇怪的东西......那么现在你知道了🙂
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
致谢