adb-mcp 是一个通过 adb 驱动 Android 模拟器和真机的 MCP 服务器,可从 Claude Code、Cursor、VS Code 或任何支持 stdio 的 MCP 客户端使用。它基于官方 Go MCP SDK 构建,定位为 XcodeBuildMCP 的 Android 对应工具。
用途 手动驱动 Android 通常需要一长串原始 adb 命令,容易出错,例如点击坐标过期、截图被 CRLF 破坏、忘记使用 exec-out、根据缩小后的图像猜测坐标等。adb-mcp 将这些知识内置到工具中,让智能体无需反复重新学习。
主要能力 工具覆盖十个领域,共约 79 个工具。每个面向设备的工具都接受可选的 serial 参数(对应 adb -s)。
- 模拟器/设备:启动、列出、等待启动完成、关闭、通过 Wi-Fi 连接、adb_reverse 端口转发。
- 观察:截图查看(支持多屏折叠设备,可用 display 选择面板);describe_ui 返回真实像素坐标的元素中心,并显示聚焦的顶层窗口,支持 filter/query/compact 模式以及隐藏节点计数。
- 交互:点击、按文本点击(tap_on_text)、按 id 点击(tap_element)、滑动、拖拽、长按、输入、组合键、PIN 键盘、等待、run_sequence(一次调用批量执行步骤和守卫);可选 verify_change 判断操作是否真正改变了 UI;可选 via_accessibility(实验性)通过真实无障碍点击触达坐标点击无法到达的原生视图。
- 锁屏/密钥库/生物识别:设置/清除安全锁屏、检查锁定状态、has_biometric_enrolled 以及 fingerprint_touch/finger_remove 在模拟器上满足 BiometricPrompt。
- 扩展控制(模拟器):发送短信(OTP/2FA)、拨打电话、设置电池(真机也可通过 dumpsys)、蜂窝网络(漫游/弱信号/限速)、设置传感器(加速度计/光线等)、旋转屏幕、AVD 快照,驱动 describe_ui 看不到的模拟器控制台面板。
- 应用生命周期:安装/卸载、启动/停止、app_state(运行中的 pid 及 Metro 与内嵌 bundle)、launch_dev_client(Expo 开发构建到 Metro,跳过 Dev Launcher)、reload_app/open_dev_menu、清除数据、权限、深链接、推送/拉取文件、last_crash。
- 日志与捕获:一次性或流式 logcat(支持子串/优先级/标签过滤、时间窗口、可选 redact 在输出前遮蔽令牌/密码/API 密钥)、clear_logcat、last_crash、屏幕录制。
- 环境与诊断:深色模式、模拟位置、清理状态栏、stay_awake(防止屏幕休眠影响截图)、doctor。
- Gradle 构建与测试:assembleDebug、单元测试、仪器化测试、通过 JaCoCo 获取 JVM 单元测试覆盖率(get_coverage_report/get_file_coverage)、任务与变体及模块发现(list_gradle_variants/list_gradle_projects)、一键 build_and_run。
- 会话默认值:通过 session_set_defaults 一次性固定 project_dir/serial,避免在多模块/多风味项目或多设备会话中重复传递。
使用方式
- 前置条件:安装带 platform-tools(adb)和 emulator 的 Android SDK。服务器通过 $ANDROID_HOME/$ANDROID_SDK_ROOT 查找,否则使用平台默认路径(macOS 为 ~/Library/Android/sdk)。如果 MCP 客户端启动服务器时未设置这些变量,可在客户端配置的 args 中传入 --sdk /path/to/sdk。至少需要一个 AVD。Go 不是必需的:发布版提供预编译二进制,仅从源码构建时需要。
- 安装:macOS/Linux 上运行 install.sh,脚本会选择对应操作系统/架构的归档,校验 SHA-256,并安装到 ~/.local/bin(可用 BIN_DIR 覆盖,用 VERSION 固定版本)。也可从 Releases 页面自行下载各平台归档(macOS、Linux、Windows,amd64 和 arm64),Windows 下载 windows_amd64 或 windows_arm64 zip 并将 adb-mcp.exe 放入 PATH。安装后可用内置更新器保持最新。
- 注册到 MCP 客户端:注册时以裸名 adb-mcp 启动服务器,因此它必须在 $PATH 中。也可作为插件安装,插件会注册服务器并为每个驱动指南添加技能。Cursor/VS Code 支持一键安装。其他客户端(Windsurf、Codex 等)通过 stdio 运行 adb-mcp。
- 从源码构建需要 Go 1.26+。
驱动方法以六个 MCP 资源(android://guide/*)形式提供,客户端可列出并读取。核心循环为:观察 → 定位 → 操作 → 再观察。用 screenshot 查看,用 describe_ui 获取真实像素中心,用 tap/tap_on_text/swipe/input_text 操作,再截图确认。
适用场景 适合需要在 Android 模拟器或真机上自动化执行 UI 操作、截图、UI 检查、日志读取、应用生命周期管理以及 Gradle 构建和测试的开发与测试工作流,尤其适合与 Claude Code、Cursor、VS Code 等 MCP 客户端配合使用。
限制 资料未提供收费、价格、平台支持范围、效果保证等信息。Android 是 Google LLC 的商标,adb-mcp 是独立非官方工具,与 Google 无关联、未获赞助或认可。项目采用 MIT 许可证。