Mobile MCP 是一个把手机交给 AI 来操作的开源项目,思路很直接:借助 MCP 协议,让模型直接在你的设备上完成点击、滑动和文字输入。接入之后,用户只要用自然语言说明目标即可,安卓与 iOS 两端都覆盖,真机和模拟器同样适用。
该项目由 Mobile Next 团队维护,采用 TypeScript 编写,以 Apache-2.0 协议开源,可免费使用,商业用途也不受限。目前在 GitHub 上的 Star 数已超过 7k。
MCP 是什么
(熟悉 MCP 的读者可以跳过本节。)
MCP 是 Anthropic 提出的开放协议,作用是为大模型挂载外部工具。每注册一个 MCP 服务,模型就多掌握一项能力。常见的 MCP 服务对接的是文件、数据库或网页,而 Mobile MCP 对接的对象是手机。
服务进程运行在用户自己的电脑上,AI 所操控的是本机连接的设备,数据不经过第三方服务器。
客户端与设备支持
客户端方面,凡支持 MCP 的都能接入。官方支持列表里包含 Claude Code、Codex、Cursor、Gemini CLI、Copilot、Windsurf 等主流工具;国产客户端中 Trae 同样支持 MCP,也可以直接连。
设备覆盖情况如下:
官方提供的架构图如下:左侧为各类 MCP 客户端,中间是 Mobile MCP,右侧连接手机、模拟器与数据源。项目把手机操作封装成三十余个工具,命名统一带 mobile_ 前缀,由模型按需调用。
靠无障碍树识别界面
判断屏幕上有什么,它主要依赖系统无障碍树,而不是靠截图去猜。无障碍树指 App 为按钮、文字、输入框附带的结构化数据——控件位置、显示文本、当前是否可点击,都是确定值。只有当界面拿不到无障碍信息时(例如游戏画面),它才退回截图加坐标的方式。读取结构化数据比截图更快,消耗的 token 更少,也不依赖视觉模型,结果更稳定。
用模拟器实测,让它列出当前屏幕的元素,返回的是一份清单:按钮、文字、输入框各自附带坐标与属性,而不是丢回一张图片。
能做的事
- 交互动作:单击、双击、长按、上下左右滑动均有现成工具;输入框打字、按 Home 键、返回键、音量键也都支持。用户把目标讲清楚,AI 自行组合这些动作执行,无需编写脚本。
- 应用管理:可先列出设备上已安装的 App,再按包名启动、关闭正在运行的进程、从本地文件安装 apk 或 ipa、以及卸载。做测试时,装包、启动、验证这一整套都能交给它。
- 设备与系统操作:查询屏幕尺寸、切换横竖屏、设置虚拟 GPS 定位、读写剪贴板。做地图类或基于位置的功能时,虚拟定位尤其实用,不必带着手机到处跑。
- 屏幕与录制:随时截取当前屏幕查看状态,也能把一段操作录成视频留存。让 AI 跑完一个流程顺手录屏,后续检查会方便很多。
- 日志与崩溃:对开发者最有价值的是这部分——可直接拉取设备实时日志,安卓端为 logcat,iOS 端为系统统一日志;还能列出设备上的崩溃报告,并按编号取出完整内容。以往复现崩溃要自己翻日志,现在让 AI 顺手取一下即可。
- 批量执行:支持把「点这里、输入、再点那里」合并进一次调用,长流程无需反复对话。
手头设备不足时,Mobile Next 官方还提供云端真机池,iOS 与安卓真机均有。
接入步骤
由于本机一直装有安卓模拟器,直接调用它比较省事;没有模拟器的读者可以用 Mobile Next 现成的云端真机池,跟 Codex 说明使用云设备即可。
实测环境:客户端为 Codex,本地开启一台安卓模拟器,整个接入过程很快。
动手前需准备:Node.js 版本 20 以上;使用安卓需装好 Android SDK 中的 platform-tools,确保 adb 命令可用,并先启动模拟器;使用 iOS 需安装 Xcode 命令行工具。
在 Codex 中挂载只需一条命令:
codex mcp add mobile-mcp npx "@mobilenext/mobile-mcp@latest"
习惯改配置文件的话,在 ~/.codex/config.toml 中加入下面这段效果相同:
[mcp_servers.mobile-mcp]
command = "npx"
args = ["@mobilenext/mobile-mcp@latest"]
使用其他客户端则粘贴这段通用 JSON,Cursor、Trae、Claude Code、Gemini CLI 均识别:
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"]
}
}
}
挂载完成后重启 Codex 验证。对着它说一句「列出可用的设备」,若它把本地运行的模拟器列了出来,就说明已经接上。
实测效果
之后便可正常对话,想到什么说什么。让它「打开设置,把深色模式打开」,它会先读一遍屏幕,按文字定位到显示设置的入口,点进去按下开关,完事再读一遍系统状态,确认确实切换成功。全程没有手动碰过模拟器。
再试一个步骤更多的:让它「打开时钟,设一个明天早上 7 点的闹钟」。它自行找到时钟 App 打开,切到闹钟页,点新建,拨好时间,保存,最后截图回来确认。中间每一步都由它自己读屏幕、自己找位置,人只需要看。
官方另有一段演示视频,运行效果大致如此:
与旧方案的区别
过去做移动端自动化,iOS 要写 XCUITest,安卓要写 Espresso,想跨端则上 Appium。脚本本身脆弱,界面改一版就废掉一批。Mobile MCP 不需要写脚本,把目标讲给 AI,让它自己去点。
可考虑的用法:改完页面让 AI 自己点一遍,省去手动测试;发版前跑个冒烟,装包启动点一圈看是否崩溃;以及一些重复性的录入操作,把流程说明白让它自己跑。
几点提醒
它默认会收集匿名使用数据,介意的话加上 MOBILEMCP_DISABLE_TELEMETRY=1 关闭。
同一团队还做了 mobilecli,可在命令行里直接控制设备,Mobile MCP 正是构建在它之上。若想把 AI 摸索出来的流程固化成可反复执行的测试,可以再看他们家的 mobilewright,相当于手机端的 Playwright。
- GitHub:https://github.com/mobile-next/mobile-mcp
- 官方文档(Wiki 中有更细的安装配置):https://github.com/mobile-next/mobile-mcp/wiki
评论 共 0 条
正在加载…
还没有评论,来说两句吧。
先起个昵称
昵称只保存在你自己的浏览器里,用来显示你的评论与留言,不需要注册。
昵称需要 2 - 20 个字符。