mcpField
M
mcp-android

mcp-android

本地服务
github.com/dockndevai开发工具02 周前更新

关于 mcp-android

mcp-android 是一个通过 ADB 从电脑控制 Android 设备的 MCP 服务,支持查看屏幕和执行设备操作。默认采用只读权限,并为写入和管理操作提供可配置的安全限制。

主要功能

  1. 01屏幕截图与 UI 层级
  2. 02读取通知和应用信息
  3. 03点击、滑动、输入与启动应用
  4. 04设置闹钟和计时器
  5. 05访问模式与审计日志

适用场景

  1. 01让 AI Agent 查看手机屏幕
  2. 02自动操作应用并输入文本
  3. 03查看通知或设置计时器

MCP 相关

该 MCP 服务向 MCP 客户端提供 Android 设备查看与控制工具。默认只读;写入和管理操作需配置权限,破坏性操作还可通过 MCP elicitation 请求人工批准。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dockndevai-mcp-android": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-android"
],
"env": {
"ANDROID_MODE": "<ANDROID_MODE>",
"ANDROID_ADB_PATH": "<ANDROID_ADB_PATH>",
"ANDROID_SERIAL": "<ANDROID_SERIAL>",
"ANDROID_TIMEOUT_MS": "<ANDROID_TIMEOUT_MS>",
"ANDROID_PACKAGE_ALLOWLIST": "<ANDROID_PACKAGE_ALLOWLIST>",
"ANDROID_PROTECTED_PACKAGES": "<ANDROID_PROTECTED_PACKAGES>",
"ANDROID_ALLOW_INSTALL": "<ANDROID_ALLOW_INSTALL>",
"ANDROID_ALLOW_SHELL": "<ANDROID_ALLOW_SHELL>",
"ANDROID_DRY_RUN": "<ANDROID_DRY_RUN>",
"ANDROID_AUDIT_LOG": "<ANDROID_AUDIT_LOG>"
}
}
}
}
启动命令npx -y @dockndevai/mcp-android
需要配置的环境变量
ANDROID_MODEAccess mode: read-only | read-write | admin.
ANDROID_ADB_PATHPath to the adb binary (default: adb on PATH).
ANDROID_SERIALTarget device serial from `adb devices`. Empty = the only connected device.
ANDROID_TIMEOUT_MSPer-command adb timeout in milliseconds.
ANDROID_PACKAGE_ALLOWLISTComma-separated package allowlist for launch/uninstall/clear. Empty = all.
ANDROID_PROTECTED_PACKAGESPackages that can be launched/inspected but never uninstalled or data-cleared.
ANDROID_ALLOW_INSTALLEnable install_apk / uninstall_app / clear_app_data (requires admin mode too).
ANDROID_ALLOW_SHELLEnable run_shell (arbitrary adb shell; requires admin mode too).
ANDROID_DRY_RUNValidate + log write/admin actions without executing them on the device.
ANDROID_AUDIT_LOGEmit a JSON audit line to stderr per guarded operation (default true).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@dockndevai/mcp-android0.1.0

工具

7

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

mcp-android

CI License: MIT npm

一个 Model Context Protocol 服务,可通过 ADB 控制 Android 手机——相当于 Mac 控制服务的手机版。Claude 可以查看屏幕(截图 + UI 层级),并进行点击、输入文本、按键、启动应用、设置闹钟/计时器以及读取通知等操作。默认安全,采用该套件的访问模式 + 标志模型。

它运行在你的电脑上,并控制通过 USB 或无线调试连接的手机(非常适合 Z Fold 7)。它不会安装在手机上,也不需要 root 权限。

iOS? 原生 iPhone 无法通过这种方式控制——Apple 的沙盒禁止跨应用/系统自动化。有关可行方案(通过 USB 从 Mac 使用 Appium/WebDriverAgent),请参阅单独的 mcp-ios 仓库。

快速开始

brew install android-platform-tools        # provides adb
# On the phone: Settings → Developer options → enable USB (or Wireless) debugging, then authorize this computer
adb devices                                 # confirm your device shows "device"

直接从 npm 运行,无需克隆或构建:

npx -y @dockndevai/mcp-android

或者用一行命令将其添加到 Claude Code(从只读模式开始):

claude mcp add android -e ANDROID_MODE="read-only" -- npx -y @dockndevai/mcp-android

Claude Desktop、Cursor、Codex、Windsurf 和 VS Code 的配置请参阅 docs/CLIENTS.md。

从源代码设置

brew install android-platform-tools        # provides adb
adb devices                                 # confirm your device shows "device"
npm install && npm run build

工具

读取(read-only+):list_devices、device_info、screenshot、ui_dump、current_app、list_apps、get_notifications

写入(read-write+):tap、swipe、input_text、press_key、launch_app、open_url、set_alarm、set_timer

管理(admin):install_apk、uninstall_app、clear_app_data(需要 ANDROID_ALLOW_INSTALL)、run_shell(需要 ANDROID_ALLOW_SHELL;否则不会注册)

控制 UI 的典型操作流程:screenshot → ui_dump(查找边界)→ tap/input_text。

安全模型

事项标志默认值
可执行的操作ANDROID_MODEread-only
允许操作的包ANDROID_PACKAGE_ALLOWLIST(全部)
受保护的包(永不卸载/清除)ANDROID_PROTECTED_PACKAGESsettings、systemui、gms
允许安装/卸载/清除ANDROID_ALLOW_INSTALLfalse
允许原始 adb shellANDROID_ALLOW_SHELLfalse
交互式确认(破坏性操作)MCP 询问(由客户端驱动)(客户端支持时开启)
预览但不操作设备ANDROID_DRY_RUNfalse
审计日志(stderr)ANDROID_AUDIT_LOGtrue

当连接的客户端支持 MCP 询问时,破坏性工具(uninstall_app、clear_app_data、install_apk、run_shell)会暂停并请求用户批准具体操作后才会运行——模型无法代替你批准。如果客户端不支持询问,则由上方的访问模式 + 标志门控机制进行控制。

与 Claude Desktop / Claude Code 一起运行

{
  "mcpServers": {
    "android": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-android/dist/index.js"],
      "env": { "ANDROID_MODE": "read-write" }
    }
  }
}
提示词示例
  • “截取我手机的屏幕,并告诉我屏幕上有什么。”
  • “设置一个标记为 Gym、时间为上午 6:30 的闹钟。”
  • “打开时钟应用并启动一个 10 分钟的计时器。”
  • “我有哪些待处理的通知?”

开发

npm run dev
npm test          # security policy
npm run typecheck

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。