ADB截图服务

一个通过ADB从Android设备捕获屏幕截图并与MCP兼容客户端(如Claude Desktop和VS Code with Copilot)协同工作的服务。

  • by adkel92
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 adkel92/mcp-adb-screenshot

使用说明

mcp-adb截图

通过ADB从Android设备捕获屏幕截图的模型上下文协议(MCP)服务器。与Claude Desktop、VS Code和Copilot以及其他MCP兼容客户端配合使用。

特性

  • 📱 capture_app_screen -从已连接的Android设备捕获屏幕截图
  • 📋 列表_设备 -通过ADB列出所有已连接的Android设备
  • ⚙️ 通过CLI参数或环境变量配置默认设备ID
  • 🖥️ 跨平台支持(macOS、Linux(未经测试)、Windows(未测试))

先决条件

  • Node.js >= 18.0.0
  • 安卓调试桥 (Android调试桥)已安装并位于您的PATH中
  • 通过USB连接并启用USB调试的Android设备

安装

通过npm(推荐)

npm install -g mcp-adb-screenshot

来源

git clone <repository-url>
cd screen-capture
npm install
npm run build

配置

VS代码(使用GitHub Copilot)

添加到您的VS代码设置(.vscode/settings.json 或用户设置):

使用npm全局安装:

{
  "mcp": {
    "servers": {
      "mcp-adb-screenshot": {
        "command": "mcp-adb-screenshot",
        "args": ["--device-id", "YOUR_DEVICE_ID"]
      }
    }
  }
}

使用npx(无需安装):

{
  "mcp": {
    "servers": {
      "mcp-adb-screenshot": {
        "command": "npx",
        "args": ["-y", "mcp-adb-screenshot", "--device-id", "YOUR_DEVICE_ID"]
      }
    }
  }
}

来自当地来源:

{
  "mcp": {
    "servers": {
      "mcp-adb-screenshot": {
        "command": "node",
        "args": ["/path/to/adb-screenshot/dist/index.js", "--device-id", "YOUR_DEVICE_ID"]
      }
    }
  }
}

克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "mcp-adb-screenshot": {
      "command": "mcp-adb-screenshot",
      "args": ["--device-id", "YOUR_DEVICE_ID"]
    }
  }
}

或者使用npx:

{
  "mcpServers": {
    "adb-screenshot": {
      "command": "npx",
      "args": ["-y", "adb-screenshot", "--device-id", "YOUR_DEVICE_ID"]
    }
  }
}

设备ID配置

您可以通过三种方式(按优先级顺序)配置默认的ADB设备ID:

  1. 命令行参数 (最高优先级):

    adb-screenshot --device-id YOUR_DEVICE_ID
    
  2. 环境变量:

    {
      "mcp": {
        "servers": {
          "adb-screenshot": {
            "command": "adb-screenshot",
            "env": {
              "ADB_DEVICE_ID": "YOUR_DEVICE_ID"
            }
          }
        }
      }
    }
    
  3. 根据请求:通行证 deviceId 作为调用时的参数 capture_app_screen 工具。

查找您的设备ID

跑 adb devices -l 在您的终端中,或使用 list_devices 工具:

List of devices attached
emulator-5554          device product:sdk_gphone64_arm64 model:sdk_gphone64_arm64 device:emu64a
ABCD1234567            device usb:1234567X product:redfin model:Pixel_5 device:redfin

设备ID是第一列(例如。, emulator-5554 或 ABCD1234567).

使用示例

配置后,您可以要求您的AI助手:

  • “捕获我的Android屏幕”
  • “列出连接的ADB设备”
  • “从设备模拟器5554中截取屏幕截图”
  • “显示我手机屏幕上的内容”

CLI选项

adb-screenshot [options]

Options:
  --device-id <id>    Set the default ADB device ID
  --help, -h          Show help message
  --version, -v       Show version number

故障排除

“adb:找不到命令”

确保ADB已安装并位于您的PATH中:

  • macOS: brew install android-platform-tools
  • Linux: sudo apt install adb
  • 视窗:从下载 Android SDK平台工具

“设备未经授权”

检查您的设备是否有USB调试授权提示并接受。

“未找到设备/模拟器”

  1. 确保您的设备上启用了USB调试
  2. 尝试重新连接USB电缆
  3. 跑 adb kill-server && adb start-server

免责声明

这个项目是在人工智能的帮助下创建的。

许可证

麻省理工学院