README
🚀 ADB MCP 服务器
ADB MCP 服务器是一个用于管理 Android 调试桥接 (ADB) 连接,并与 Android 设备进行交互的 Model Context Protocol (MCP) 服务器。它提供了设备管理、截图捕获等多种功能,能有效提升与 Android 设备交互的效率。
🚀 快速开始
ADB MCP 服务器作为 Model Context Protocol 服务器通过 stdio 运行:
npm start
用于开发时,带有文件更改自动重启的功能:
npm run dev
✨ 主要特性
- 设备管理:列出所有连接的 Android 设备
- 截图捕获:从连接的设备中获取屏幕截图
- UI 元素检查:提取设备屏幕的 UI 层次结构
- ADB 命令执行:在连接的设备上运行任意 ADB 命令
📦 安装指南
先决条件
- Android 调试桥接 (ADB) 必须安装在您的系统上并添加到 PATH 环境变量中
- Node.js (版本 14 或更高)
- TypeScript
安装步骤
- 克隆仓库:
git clone https://github.com/yourusername/adb-mcp-server.git cd adb-mcp-server - 安装依赖项:
npm install - 构建项目:
npm run build
💻 使用示例
基础用法
1. 获取连接设备列表
get_devices
返回所有连接的 Android 设备及其 ID 和连接状态的列表。
2. 捕获屏幕截图
capture_screenshot
参数:
deviceId:要从中捕获屏幕截图的设备 IDpath:保存截图的路径
截图将按照以下格式命名:YYYYMMDD_HH_MM_SS.png
3. 获取 UI 元素
get_ui_elements
参数:
deviceId:要提取其 UI 层次结构的设备 ID
返回完整的 UI 层次结构,以 XML 格式呈现,适用于 UI 自动化和测试。
4. 执行 ADB 命令
execute_adb_command
参数:
deviceId:要在其上执行命令的设备 IDcommand:要执行的 ADB 命令
允许在指定设备上运行任意 ADB 命令。
📚 详细文档
项目结构
adb-mcp-server
├── src
│ ├── index.ts # 主 MCP 服务器入口点
│ ├── handlers/ # 每个功能的请求处理程序
│ │ ├── deviceList.ts # 设备列表功能
│ │ ├── screenshot.ts # 屏幕截图捕获功能
│ │ └── uiElements.ts # UI 层次结构提取功能
│ ├── utils/ # 工具函数
│ │ ├── adb.ts # ADB 命令执行工具
│ │ └── screenshot.ts # 截图处理工具
│ └── types/ # TypeScript 类型定义
├── package.json # 项目依赖和脚本
└── tsconfig.json # TypeScript 配置
📄 许可证
此项目根据 MIT 许可证发布,详细信息见 LICENSE 文件。
❤️ 贡献
欢迎贡献!请随意提交 Pull Request。
Scan to join WeChat group