使用说明
ADB MCP服务器
用于管理Android调试桥(ADB)连接和与Android设备交互的模型上下文协议(MCP)服务器。
特性
- 设备管理:列出所有已连接的Android设备
- 电脑屏幕截图工具:从连接的设备中截取屏幕截图
- UI元素检查:从设备屏幕中提取UI层次结构
- ADB命令执行:在连接的设备上运行任意ADB命令
先决条件
- Android调试桥(ADB)必须安装在您的系统上并添加到PATH中
- Node.js(v14或更高版本)
- TypeScript
安装
-
克隆存储库:
git clone https://github.com/yourusername/adb-mcp-server.git cd adb-mcp-server -
安装依赖项:
npm install -
构建项目:
npm run build
用法
启动服务器
ADB MCP服务器在stdio上作为模型上下文协议服务器运行:
npm start
对于在文件更改时自动重启的开发:
npm run dev
可用工具
服务器公开了以下MCP工具:
1.列出连接的设备
get_devices
返回所有已连接的Android设备及其ID和连接状态的列表。
2.截图
capture_screenshot
参数:
deviceId:要从中捕获的设备的IDpath:保存屏幕截图的路径
屏幕截图将按照以下格式命名:YYYYMMDD_HH_MM_SS.png
3.获取UI元素
get_ui_elements
参数:
deviceId:从中提取UI层次结构的设备的ID
以XML格式返回完整的UI层次结构,这对于UI自动化和测试非常有用。
4.执行ADB命令
execute_adb_command
参数:
deviceId:运行命令的设备的IDcommand:要执行的ADB命令
允许在指定设备上执行任意ADB命令。
项目结构
adb-mcp-server
├── src
│ ├── index.ts # Main MCP server entry point
│ ├── handlers/ # Request handlers for each feature
│ │ ├── deviceList.ts # Device listing functionality
│ │ ├── screenshot.ts # Screenshot capture functionality
│ │ └── uiElements.ts # UI hierarchy extraction
│ ├── utils/ # Utility functions
│ │ ├── adb.ts # ADB command execution utilities
│ │ └── screenshot.ts # Screenshot handling utilities
│ └── types/ # TypeScript type definitions
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。