这是一个基于Model Context Protocol (MCP) 实现的应用后端服务,专门用于通过Android Debug Bridge (ADB) 与安卓设备进行交互。它可以让支持MCP协议的大模型客户端(如Claude Desktop, Windsurf等)直接调用ADB命令来控制和查询安卓设备。
主要功能点
- 设备管理: 列出已连接的安卓设备。
- 应用管理: 列出、安装、卸载应用,清除应用数据,管理应用权限。
- 文件操作: 向设备推送文件,从设备拉取文件,删除设备上的文件。
- 设备交互: 向设备输入文本,截取屏幕截图,启动Activity。
- 系统信息: 获取设备日志(包括崩溃日志)、查看内存、CPU、电池、网络等系统信息。
- ADB服务控制: 启动或终止ADB服务器进程。
安装步骤
要使用此ADB MCP服务,你需要先准备好运行环境和ADB工具。
- 安装Node.js环境: 确保你的计算机上安装了Node.js(版本推荐v18或更高)。
- 安装ADB: 从Android SDK Platform Tools下载ADB,并将其可执行文件所在的路径添加到系统的环境变量中,或者记下其绝对路径。
- 启用安卓设备的USB调试: 在安卓设备的开发者选项中启用USB调试功能。
- 获取MCP服务代码:
- 克隆此GitHub仓库到本地:'git clone https://github.com/jiantao88/android-mcp-server.git'
- 进入项目目录:'cd android-mcp-server'
- 安装依赖并构建:
- 运行命令安装项目所需的依赖库:'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工具了。例如:
- 连接安卓设备到电脑,并确保ADB能够识别到设备(可以在电脑命令行运行 'adb devices' 检查)。
- 在你的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工具,并将执行结果反馈给你。
信息
分类
桌面与硬件