MCP-ADB

MCP-ADB

site icon
2025.04.12 0
JavaScriptAndroid 设备控制自动化测试浏览器自动化
MCP-ADB 是一个模型上下文协议(MCP)服务器,提供与 Android Debug Bridge(ADB)的集成,使 AI 助手能够与 Android 设备进行交互。
View on GitHub

Overview

基本能力

产品定位

MCP-ADB 是一个用于 AI 助手与 Android 设备交互的中间件,通过 ADB 提供设备控制和数据获取能力。

核心功能

  • 屏幕截图捕获:自动调整大小的 Android 设备截图功能
  • Base64 图像数据:直接获取 base64 编码的截图数据
  • 按键事件控制:向 Android 设备发送导航、返回、主页等按键事件
  • 多设备支持:在连接多个设备时可指定目标设备
  • 设备列表:列出所有连接的 Android 设备作为资源
  • 资源访问:通过资源 URI 访问截图和设备信息

适用场景

  • AI 助手需要与 Android 设备交互的场景
  • 自动化测试和调试 Android 设备
  • 远程控制 Android 设备

工具列表

  1. 截图工具:捕获 Android 设备屏幕截图并自动调整为 640px 宽度
  2. 按键工具:向 Android 设备发送按键事件
  3. 资源访问
  4. 列出所有连接的设备 (adb://devices)
  5. 访问特定截图 (adb://screenshots/{filename})

常见问题解答

  • 需要确保 ADB 已安装并在 PATH 中或通过 ADB_PATH 环境变量配置
  • 需要连接的 Android 设备已启用 USB 调试

使用教程

使用依赖

  1. 安装 Node.js (推荐 v16 或更高版本)
  2. 安装 Android Debug Bridge (ADB) 并确保在 PATH 中
  3. 连接 Android 设备并启用 USB 调试

安装教程

# 克隆仓库
git clone https://github.com/isseikz/mcp-adb.git
cd mcp-adb

# 安装依赖
npm install

# 构建项目
npm run build

调试方式

  1. 配置 Claude Desktop 的 claude_desktop_config.json 文件
  2. 示例配置:
{
  "mcpServers": {
    "mcp-adb": {
      "command": "node",
      "args": ["/path/to/mcp-adb/build/index.js"],
      "env": {
        "ADB_PATH": "/path/to/adb"
      }
    }
  }
}
  1. 使用截图工具示例:
{
  "name": "screenshot",
  "arguments": {
    "deviceId": "emulator-5554"
  }
}
  1. 使用按键工具示例:
{
  "name": "pressKey",
  "arguments": {
    "keycode": "KEYCODE_DPAD_DOWN",
    "deviceId": "emulator-5554"
  }
}

许可证

该项目遵循 MIT 开源许可条款。