/ 目录 / 演练场 / Mobile MCP
● 社区 mobile-next ⚡ 即开即用

Mobile MCP

作者 mobile-next · mobile-next/mobile-mcp

一个 MCP 接口驱动 iOS 和 Android 设备、模拟器与仿真器——无需分别掌握 XCUITest/Espresso。

Mobile MCP 将平台特定的移动端自动化封装在统一的工具界面后。Claude 可以在 iOS 模拟器、Android 模拟器或通过 USB/Wi-Fi 连接的真机上执行点击、滑动、输入、截图和断言操作。适用于应用 QA、用户流程截图以及用自然语言步骤进行调试。

为什么要用

核心特性

实时演示

实际使用效果

mobile-mcp.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mobile-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "mobile-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@mobilenext/mobile-mcp@latest"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Mobile MCP

一条 prompt 同时对 iOS + Android 做冒烟测试

👤 移动端 QA、没有专职测试团队的开发者 ⏱ ~20 min intermediate

何时使用: 你刚打了一个包,想确认注册流程在两个平台上都能正常运行。

前置条件
  • 模拟器已启动xcrun simctl boot "iPhone 16"emulator -avd Pixel_7
  • 应用已安装 — 将 IPA/APK 拖入模拟器,或使用 install_app 工具
步骤
  1. 开始会话
    使用 mobile-mcp。列出所有可用设备。✓ 已复制
    → iOS 模拟器和 Android 仿真器均在列表中
  2. 执行流程
    在两台设备上同时:打开应用,点击「注册」,输入 [email protected] / password123,点击继续。每步截图。✓ 已复制
    → 双设备截图序列
  3. 断言
    每台设备上,「验证您的邮箱」页面是否可见?如果不是,报告你看到了什么。✓ 已复制
    → 每个平台的通过/失败结果,附证据截图

结果: 2 分钟内得到附截图的双平台通过/失败报告。

注意事项
  • 测试账号被反垃圾机制锁定 — 为每次构建使用一次性邮箱;轮换测试账号
搭配使用: filesystem

为 5 种设备尺寸生成 App Store 截图

👤 向 App Store 提交应用的独立开发者 ⏱ ~25 min intermediate

何时使用: 你需要 6.5"、6.7"、5.5" 的截图,但不想手动逐一截取。

前置条件
  • 为每种尺寸准备对应模拟器 — 通过 xcrun simctl 创建合适的设备类型
步骤
  1. 构建设备矩阵
    启动 iPhone 15 Pro Max、iPhone 15、iPhone SE 模拟器。在每台上安装应用。✓ 已复制
    → 三台设备均已就绪且应用已安装
  2. 截图流程
    在每台设备上,导航到 5 个关键页面(新手引导、信息流、详情、设置、升级)。以全分辨率截图每个页面。✓ 已复制
    → 截图按设备分类保存,命名规范统一

结果: 一次完成所有所需尺寸的 App Store 截图,可直接提交。

注意事项
  • 截图包含模拟器状态栏 — 使用 --status-bar-style=overridden 或后期用 crop 裁剪
搭配使用: filesystem

组合

与其他 MCP 搭配,撬动十倍杠杆

mobile-mcp + filesystem

将截图保存到带版本的 QA 目录

将每张截图保存到 /qa/$(date)/ 下,以测试名称命名。✓ 已复制
mobile-mcp + xcodebuild

在一个流程中完成构建、安装和测试

通过 xcodebuild 构建 iOS 应用,通过 mobile-mcp 安装,再运行冒烟测试。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
list_devices none 始终先调用——了解当前可用设备 free
launch_app device_id, bundle_id 在设备上打开应用 free
tap device_id, selector|coords 与按钮/控件交互 free
type_text device_id, text: str 填写文本框(需先聚焦) free
get_view_hierarchy device_id 了解当前屏幕内容 free
screenshot device_id, path?: str 视觉验证 free

成本与限制

运行它的成本

API 配额
本地
每次调用 Token 数
视图层级可能超过 10k tokens;截图为 base64
费用
免费
提示
优先用基于选择器的点击,而非转储完整视图层级,以节省 token

安全

权限、密钥、影响范围

最小权限: device access (physical USB requires trust dialog)
凭据存储:
数据出站: MCP 本身不外传数据;截图若共享则会流向 LLM 服务商
切勿授予: production device access with PII

故障排查

常见错误与修复

No devices listed

先启动模拟器:xcrun simctl boot / emulator -avd X

验证: `xcrun simctl list | grep Booted`
tap_at_coords misses

先运行 get_view_hierarchy,改用基于选择器的点击——坐标在不同屏幕尺寸间会偏移

Real device not trusted

iOS:设置 → 通用 → 设备管理 → 信任。Android:开启 USB 调试。

替代方案

Mobile MCP 对比其他方案

替代方案何时用它替代权衡
XcodeBuildMCP你只需要 iOS 构建和测试,不需要跨平台 UI 自动化不支持 Android;在构建工具方面更重
Appium你需要完整的 CI 级移动测试框架配置复杂;不是原生 MCP

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills