这是一个基于Model Context Protocol (MCP) 实现的应用后端服务,专门用于通过Android Debug Bridge (ADB) 与安卓设备进行交互。它可以让支持MCP协议的大模型客户端(如Claude Desktop, Windsurf等)直接调用ADB命令来控制和查询安卓设备。

主要功能点

  • 设备管理: 列出已连接的安卓设备。
  • 应用管理: 列出、安装、卸载应用,清除应用数据,管理应用权限。
  • 文件操作: 向设备推送文件,从设备拉取文件,删除设备上的文件。
  • 设备交互: 向设备输入文本,截取屏幕截图,启动Activity。
  • 系统信息: 获取设备日志(包括崩溃日志)、查看内存、CPU、电池、网络等系统信息。
  • ADB服务控制: 启动或终止ADB服务器进程。

安装步骤

要使用此ADB MCP服务,你需要先准备好运行环境和ADB工具。

  1. 安装Node.js环境: 确保你的计算机上安装了Node.js(版本推荐v18或更高)。
  2. 安装ADB: 从Android SDK Platform Tools下载ADB,并将其可执行文件所在的路径添加到系统的环境变量中,或者记下其绝对路径。
  3. 启用安卓设备的USB调试: 在安卓设备的开发者选项中启用USB调试功能。
  4. 获取MCP服务代码:
    • 克隆此GitHub仓库到本地:'git clone https://github.com/jiantao88/android-mcp-server.git'
    • 进入项目目录:'cd android-mcp-server'
  5. 安装依赖并构建:
    • 运行命令安装项目所需的依赖库:'npm install'
    • 运行命令构建项目:'npm run build'

服务器配置

MCP服务器通常由MCP客户端(如你使用的大模型应用)根据配置来启动和管理。你需要将此ADB MCP服务的启动信息添加到你的MCP客户端的配置中。

配置信息通常是一个JSON对象,包含服务器的名称、启动命令和参数等。具体配置方式请参考你的MCP客户端的文档(例如Claude Desktop或Windsurf)。

以下是典型的MCP客户端配置中,用于启动此ADB MCP服务的示例(注意:这里的配置是给客户端看的示例结构,请勿直接运行):

{
  "mcpServers": {
    "adb": { // 服务器的名称,可自定义
      "command": "node", // 启动服务器的命令
      "args": [
        "/path/to/android-mcp-server/build/index.js", // MCP服务构建后的主文件路径
        "/path/to/your/adb/executable" // ADB可执行文件的绝对路径
      ]
    }
  }
}

请注意:

  • 将'/path/to/android-mcp-server/build/index.js'替换为你本地仓库构建后 'build/index.js' 文件的实际绝对路径。
  • 将'/path/to/your/adb/executable'替换为你本地ADB可执行文件的实际绝对路径(例如在Windows上可能是'C:\path\to\platform-tools\adb.exe',在macOS/Linux上可能是'/usr/local/bin/adb')。
  • 确保你在客户端配置中使用的路径是绝对路径。

配置完成后,重启你的MCP客户端,客户端应该会尝试启动并连接这个ADB MCP服务。

基本使用方法

连接成功后,你就可以通过与大模型客户端的交互来使用这些ADB工具了。例如:

  1. 连接安卓设备到电脑,并确保ADB能够识别到设备(可以在电脑命令行运行 'adb devices' 检查)。
  2. 在你的MCP客户端中,通过自然语言描述你想要执行的操作,例如:
    • “请列出我连接的安卓设备” (对应 'get-devices' 工具)
    • “帮我卸载包名为 com.example.myapp 的应用” (对应 'uninstall-apk' 工具)
    • “向设备输入文本 'Hello from LLM'” (对应 'input-text' 工具)
    • “拉取设备上 /sdcard/screenshot.png 文件到本地” (对应 'pull' 工具)
    • “清除应用 com.anotherapp 的数据” (对应 'clear-app-data' 工具)
    • “获取设备的崩溃日志” (对应 'get-crash-log' 工具)

大模型会理解你的意图,调用相应的ADB MCP工具,并将执行结果反馈给你。

信息

分类

桌面与硬件