SuperAPI AI 工具集

android-mcp-server

Android ADB MCP Server 是一个基于模型上下文协议(MCP)的服务端,让 AI 助手(如 Claude、OpenCode,或通过 Copilot/代理集成的 VS Code)通过 ADB 安全地控制 Android 设备。它提供读取 logcat、查看当前 UI 层级、列出已安装应用包以及执行受限 shell 命令等工具,并通过允许列表机制降低任意命令执行的风险。需要 Node.js v18+ 和已安装并在 PATH 中可用的 ADB,设备需开启 USB 调试。

访问官网

工具介绍

Android ADB MCP Server 是一个模型上下文协议(MCP)服务端,用于让 AI 助手安全地通过 ADB 控制 Android 设备。它面向需要让 AI 助手直接操作或读取 Android 设备状态的开发者与自动化场景。

用途

让具备 MCP 能力的 AI 助手(如 Claude、OpenCode,以及通过 Copilot/代理集成使用 MCP 的 VS Code)通过 ADB 与 Android 设备交互。需要注意的是,Claude 和 OpenCode 是 AI 助手,VS Code 本身不是 AI,而是承载 AI 助手并作为 MCP 客户端的代码编辑器;该服务端可与任何支持 MCP 的客户端配合使用。

主要能力

服务端暴露以下工具:读取 logcat、检查当前 UI 层级、列出已安装的软件包,以及执行受限的 shell 命令。所有命令都受允许列表约束,以降低任意命令执行的风险。

安全设计

  • Shell 允许列表:adb_execute_shell 只接受前缀被授权的命令(getprop、dumpsys、pm list)。其他命令会被拒绝并返回描述性错误。命令链(&&、||、;、|)和注入用元字符也会被阻止。
  • 不使用 root:不请求超级用户权限,仅使用标准 ADB API。
  • 命令通过 execFile 执行(不经过中间 shell),避免元字符注入。
  • 安全逻辑位于 src/adb/security.ts,在扩大权限前应先审阅。

前置条件

  • Node.js v18+(已测试至 Node.js 26)。
  • 已安装 ADB 且可通过系统 PATH 访问(adb version 必须可用),或通过 ADB_PATH / ANDROID_HOME / 标准 SDK 路径定位。
  • Android 设备已开启 USB 调试(开发者选项 → USB 调试)。

安装与使用

构建会在 dist/ 文件夹中生成编译后的代码。注意:dist/ 是本地生成,不提交到仓库,必须先运行 npm run build 再配置 MCP 客户端,否则服务端无法启动。

快速开始(已发布到 npm):可跳过克隆和构建,服务端已发布为 @neem2004/android-mcp-server 并包含编译后的 dist/。直接运行 npx -y @neem2004/android-mcp-server。绝对路径形式适用于本地克隆(将 YOUR_PATH_TO 替换为实际位置)。

各 MCP 客户端的配置文件与格式不同,常见配置如下:

  • OpenCode:文件为项目根目录的 opencode.json,或全局的 ~/.config/opencode/opencode.json。本地克隆替代方案:"command": ["node", "YOUR_PATH_TO/android-mcp-server/dist/index.js"]。
  • Claude:文件为 %APPDATA%\Claude\claude_desktop_config.json(Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)。本地克隆替代方案:"command": "node","args": ["YOUR_PATH_TO/android-mcp-server/dist/index.js"]。
  • VS Code:文件为工作区中的 .vscode/mcp.json(或通过 MCP: Open User Configuration 命令)。VS Code 使用 servers 作为顶层键(不是 mcpServers)。

开发提示:可用 tsx 直接运行 TypeScript,将参数替换为 src/index.ts 并使用 npx tsx 作为命令;但为可靠性,建议使用编译后的构建。

ADB 配置

如果尚未安装 ADB:

  • Windows:下载官方 platform-tools 并将其文件夹添加到系统 PATH。
  • macOS / Linux:通过包管理器安装(例如 brew install android-platform-tools、apt install adb)。 设备应显示为 device(而非 unauthorized / offline)。服务端会依次使用 ADB_PATH、ANDROID_HOME / ANDROID_SDK_ROOT、标准 SDK 路径,最后回退到 PATH 中的 adb。

项目与支持

该项目 100% 开源并独立维护。如对团队自动化流程有帮助,可通过 GitHub Sponsors 支持 Neem2004;企业赞助用于资助新工具、安全加固和优先支持。