使用说明
MCP-ADB
一种模型上下文协议(MCP)服务器,提供与Android调试桥(ADB)的集成,以便AI助手与Android设备进行交互。
特性
- 电脑屏幕截图工具:使用自动调整大小功能对已连接的Android设备进行截图
- Base64图像数据:以base64编码字符串的形式直接接收屏幕截图数据
- 关键事件控制:将关键事件发送到Android设备(导航、返回、主页)
- 多设备支持:连接多个设备时针对特定设备
- 设备列表:将所有连接的Android设备列为资源
- 资源访问:通过资源URI访问屏幕截图和设备信息
先决条件
- Node.js (建议使用v16或更高版本)
- 安卓调试桥(ADB) 已安装并在PATH中可用,或通过ADB_PATH环境变量配置
- 已连接启用USB调试的Android设备
安装
# Clone the repository
git clone https://github.com/isseikz/mcp-adb.git
cd mcp-adb
# Install dependencies
npm install
# Build the project
npm run build
用法
与Claude Desktop一起使用
要将此MCP服务器与Claude Desktop一起使用,请将MCP adb添加到Claude_Desktop_config.json中,该文件可以在Claude Desktop安装目录或Claude-Settings-Developer-Edit config中找到
以下是一个如何配置的示例 claude_desktop_config.json 文件:
{
"mcpServers": {
"mcp-adb": {
"command": "node",
"args": ["/path/to/mcp-adb/build/index.js"],
"env": {
"ADB_PATH": "/path/to/adb"
}
}
}
}
```json
{
"mcpServers": {
"mcp-adb": {
"command": "node",
"args": ["/path/to/mcp-adb/build/index.js"],
"env": {
"ADB_PATH": "/path/to/adb"
}
}
}
}
可用工具
屏幕截图工具
从连接的Android设备捕获屏幕截图,并自动将其大小调整为640px宽。
参数:
deviceId(可选):当连接多个设备时,以特定设备为目标
答复:
- 响应中直接包含Base64编码的图像数据(PNG格式)
例子:
{
"name": "screenshot",
"arguments": {
"deviceId": "emulator-5554"
}
}
按键工具
向已连接的Android设备发送关键事件。
参数:
keycode:要发送的Android密钥代码(见下面的列表)deviceId(可选):当连接多个设备时,以特定设备为目标
可用按键代码:
KEYCODE_DPAD_CENTER-中心/确定按钮KEYCODE_DPAD_DOWN-向下导航KEYCODE_DPAD_UP-向上导航KEYCODE_DPAD_LEFT-左侧导航KEYCODE_DPAD_RIGHT-右导航KEYCODE_DPAD_UP_LEFT-对角线左上KEYCODE_DPAD_UP_RIGHT-对角线向上向右KEYCODE_DPAD_DOWN_LEFT-对角线左下KEYCODE_DPAD_DOWN_RIGHT-对角线右下KEYCODE_BACK-后退按钮KEYCODE_HOME-主页按钮
例子:
{
"name": "pressKey",
"arguments": {
"keycode": "KEYCODE_DPAD_DOWN",
"deviceId": "emulator-5554"
}
}
资源
连接设备
列出所有已连接的Android设备:
adb://devices
答复:
- 已连接设备ID列表
截图
按文件名访问特定屏幕截图:
adb://screenshots/{filename}
例如:
adb://screenshots/screenshot-2025-04-10T16-30-48-931Z.png
发展
项目结构
mcp-adb/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript files
├── temp/ # Temporary directory for screenshots
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration
建筑
npm run build
这将把TypeScript代码编译为JavaScript build 目录。
需求
此项目使用以下依赖关系:
@modelcontextprotocol/sdk:MCP服务器实现fs-extra:增强的文件系统方法sips:用于调整图像大小(内置于macOS中)以减少上下文消耗
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。