Back to MCP directory
publicPublicdnsLocal runtime

mcp-adb

MCP-ADB是一个通过Model Context Protocol提供Android设备交互服务的服务器,支持截图、按键控制等功能

article

README

🚀 MCP-ADB

MCP-ADB是一个模型上下文协议(MCP)服务器,它与Android调试桥接(ADB)集成,让AI助手能够与Android设备进行交互。

🚀 快速开始

MCP-ADB可使AI助手与Android设备交互。使用前,你需要完成环境准备和项目安装。

✨ 主要特性

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

📦 安装指南

先决条件

  • Node.js(推荐v16或更高版本)
  • Android调试桥接(ADB)已安装并添加到PATH环境变量,或通过ADB_PATH环境变量配置。
  • 已连接的Android设备,且USB调试功能已启用。

安装步骤

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

# 安装依赖项
npm install

# 构建项目
npm run build

💻 使用示例

与Claude Desktop一起使用

要将此MCP服务器与Claude Desktop一起使用,请在claude_desktop_config.json文件中添加mcp-adb配置,该文件位于Claude Desktop安装目录或通过Claude - 设置 - 开发人员 - 编辑配置找到。

以下是一个配置示例:

{
  "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_HOME - 主页面键
  • KEYCODE_BACK - 返回键

示例:

{
  "name": "keyDown",
  "arguments": {
    "deviceId": "emulator-5554",
    "keyCode": "KEYCODE_HOME"
  }
}

📚 详细文档

资源URI访问

通过以下URI格式可以访问资源:

  • mctp://<host>:<port>/screenshot - 获取屏幕截图
  • mctp://<host>:<port>/devices - 获取所有连接设备列表

项目结构

.
├── package.json          # 项目依赖和脚本配置
├── src                  # 源代码目录
│   ├── index.js         # 主程序入口文件
│   └── screenshot.js    # 截图处理逻辑
└── README.md            # 项目文档

📄 许可证

本项目采用MIT许可证。

贡献

欢迎贡献!请随时提交Pull Request。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client