导语:MCP 协议把”AI 能用什么”标准化了。当 Claude、Cursor、Codex 都能直接 tap、swipe、安装 APK、跑 logcat,自动化测试这条线就被重新切了一刀。Mobile Next 团队做的 mobile-mcp 就是这条线上的标准件–一行 npx 起服务,三十个工具覆盖全平台。

一、项目定位
mobile-mcp 是一个标准的 MCP(Model Context Protocol)服务器,运行后向 AI 代理暴露一组移动设备操作工具。它工作在模拟器、仿真器与真机三种形态的 iOS / Android 设备上,不绑定特定 AI 客户端–Claude Code、OpenAI Codex、Gemini CLI、GitHub Copilot、Antigravity 等任何支持 MCP 的代理都能直接对接。
红队视角看,这玩意儿是“AI 自动化军火库”的入门级配件。任何脚本小子只要写两行自然语言,就能让 Claude 帮他跑完整个 App 的登录态回归测试。
二、为什么用 MCP 而不是传统框架
MCP(Model Context Protocol)是 Anthropic 在 2024 年推的开放协议,目的是让 AI 客户端和外部工具之间的接入标准化。换个说法:在 MCP 之前,要让 Claude 动手机,你得自己写 Python 脚本起个 WebSocket 服务、再给 Claude 接一个自定义 Tool;现在所有支持 MCP 的客户端(Claude Desktop、Cursor、Codex、Gemini、Copilot)都能读取一份 JSON 配置直接调用同一套工具。
mobile-mcp 选择 MCP 而不是自己重起炉灶,本质是踩在了“AI 客户端军备竞赛”这条快车道上。项目可以推一推,多花几个月干客户的接口;现在只推一个 npx 包,所有客户端自然接通。
三、四大核心优点
2.1 跨平台统一 API
iOS 用 XCUITest,Android 用 Espresso,老自动化框架是平台绑死的。mobile-mcp 把 iOS 模拟器、Android 模拟器、iOS 真机、Android 真机四类目标封装成同一套工具调用,代理完全不用关心底层是 XCUITest、adb 还是 simctl。
2.2 Accessibility-first,省 token
这是它和多数屏幕识别方案最大的差异点。mobile-mcp 默认从原生可访问性树(accessibility tree)读取 UI 元素,只在必要时才回退到截图+坐标点击。iOS 背后读的是 XCUITest 暴露的 AXTree,Android 读的是 AccessibilityNodeInfo–都是平台原生提供、文本结构化、不需要 OCR 也不需要视觉模型。
一次交互的成本是结构化文本,不是图像 token–对长流程任务能省下大量视觉模型开销。配合 mobile_batch_commands 把”点 A、输文字、点 B、读屏”串成一次往返,token 消耗可以压缩到传统截图方案的十分之一。
2.3 真机+云端两种部署
本机有 USB 真机就直接驱动;没有的话,Mobile Next Cloud 提供远程真机池,按需申请 iPhone 或 Pixel,用完释放。同一套工具调用,不需要改代码、不需要改配置。
2.4 三十多个工具覆盖全流程
从设备管理(列设备、改朝向、读剪贴板)、App 管理(装/卸/启/停)、屏幕交互(点击/滑动/双击/长按/录屏)、按键导航(Home/Back/Enter/音量)、日志收集(logcat / unified log)、崩溃报告读取,到批量命令一键串行执行–基本能覆盖移动测试的所有原子操作。

四、典型工具一览
设备管理:mobile_list_available_devices、mobile_get_screen_size、mobile_set_orientation、mobile_clipboard 应用管理:mobile_list_apps、mobile_launch_app、mobile_install_app、mobile_uninstall_app 屏幕交互:mobile_take_screenshot、mobile_list_elements_on_screen、mobile_click_on_screen_at_coordinates、mobile_swipe_on_screen、mobile_start_screen_recording 输入导航:mobile_type_keys、mobile_press_button、mobile_open_url 日志诊断:mobile_get_device_logs、mobile_list_crashes、mobile_get_crash
实战里最常用的是 mobile_batch_commands–把多个工具调用串成一步,比如”点 A、输文字、点 B、读屏幕”,一次往返搞定,节省 token 也省时间。
3.1 实战调用示例
一个完整的 Agent 指令示例(送给 Claude Code):
请用 mobile-mcp 帮我跑一遍 Telegram Android 的登录后冷启动回归:
1. 启动 app,等待 2 秒
2. 截图确认已到聊天列表页
3. 点一下左上角的设置菜单
4. 读取页面所有可访问元素,确认有 "Data and Storage" 选项
5. 点击返回后报错:如果不到聊天列表页,把崩溃日志拉下来给我
这条指令会触发一连串 mobile_* 工具调用,中间不需要人插手。整个回归在 15 秒内跑完,报告里包含崩溃 ID(如果有)、错误页面截图、设备日志。这就是 MCP 接入后的 Agent 能干的活。
五、安装使用
环境前提:Xcode 命令行工具(iOS)、Android Platform Tools(Android)、Node.js v20+、任一支持 MCP 的 AI 客户端。
标准配置(Claude Desktop 或其他 MCP 客户端):
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@mobilenext/mobile-mcp@latest"]
}
}
}
VS Code 用户可以直接走一键安装;Cline、Antigravity、Codex 等不同客户端的配置位置在 README 里都有分章节列。
六、适合谁用
- 独立开发者:UI 改完想快速回归登录、支付、表单等关键路径
- QA 团队:没有 Mac 也能借云端真机池跑 iOS 测试
- Agent 框架研究者:测试移动端的 agent-to-agent 数据抓取
- Bug Bounty 猎人:批量跑 App 漏洞测试时的自动化驱动
5.1 红队风险提示
同样的能力落在黑产手里也是现成工具链。脚本小子拿到一款 App 的 APK 可以让 Claude 自己爬遍所有页面、填表单、试鉴权错试、报出“哪些界面走错路径、哪些接口返回异常体”。mobile-mcp 本人没绕过任何客户端保护机制,但接入后的 Agent 能力是“给个目标、完成侦察、报告可击点”。
App 开发者怎么防:在发版前自己跑一遍 mobile-mcp 测试,看哪些页面能跳出预期、有哪些隐藏接口能被枚举。骨刺都在门里,不要指望用户会用机。
七、下载与资源
- 官方仓库:github.com/mobile-next/mobile-mcp
- npm 包:
@mobilenext/mobile-mcp(一条npx -y @mobilenext/mobile-mcp@latest即可启动) - 官方文档:wiki 页面
- 云端真机池:mobilenext.ai/cloud
- Slack 社区:加入链接
按 GitHub 仓库主分支克隆即最新版:
git clone https://github.com/mobile-next/mobile-mcp.git
cd mobile-mcp
npm install
npm run build
配图来源:mobile-next/mobile-mcp 官方 GitHub 仓库设计资产(封面 banner + 架构图)。














暂无评论内容