mcpField
I
iPhone Mirror

iPhone Mirror

本地服务
github.com开发工具810 周前更新

关于 iPhone Mirror

iPhone Mirror 是面向 iPhone 应用开发者的 MCP 服务,可在真机和模拟器上测试应用。它将 Xcode 构建与测试流程和镜像 iPhone 的视觉操作结合,无需在手机上安装软件。

主要功能

  1. 01使用 Xcode 构建、测试、安装和启动
  2. 02通过点按、滑动和输入操作镜像 iPhone
  3. 03使用 OCR 和图像匹配读取屏幕
  4. 04自动化模拟器和已连接设备
  5. 05等待指定文本或屏幕变化

适用场景

  1. 01在已配对的 iPhone 上构建并测试应用
  2. 02通过镜像屏幕检查和操作应用
  3. 03在自动化测试中验证可见界面变化

MCP 相关

通过 stdio 向 MCP 客户端提供 63 个工具,用于 iPhone 镜像、Xcode 流程、设备控制和模拟器操作。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbiphone-mirror-mcp.mcpb1.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

iphone-mirror-mcp

CI License: MIT Platform: macOS 15+ Swift 6 Listed on mcpservers.org Clones Views

让任何大模型都能操控真实 iPhone。

一个 MCP 服务,通过 macOS 内置的 iPhone Mirroring 应用控制实体 iPhone,并自动执行 Xcode 开发测试——在模拟器和设备上构建、 测试、安装并启动,然后通过点击、滑动、输入和 OCR 操作镜像屏幕上的应用。

无需越狱。无需在手机上安装任何内容。无需 XCUITest target。

run_on_iphone (build → install → launch on the paired iPhone)
   → screenshot / read_screen / tap / paste_text     drive the app on-device
   → wait_for_text / tap with expect / sim_log       assert what the user sees

63 个工具。 可与 Claude、GPT、Gemini、本地模型配合使用——任何支持通过 stdio 进行 MCP 通信的模型都可以。


快速开始

git clone https://github.com/nickatnight96/iphone-mirror-mcp.git
cd iphone-mirror-mcp
./install.sh

安装程序会检查你的机器、构建发布二进制文件、端到端验证权限,并输出客户端的准确配置。

接下来,以 Claude Code 为例:

claude mcp add --scope user iphone-mirror -- ~/.local/bin/iphone-mirror-mcp

或用于其他 MCP 客户端:

{
  "mcpServers": {
    "iphone-mirror": {
      "command": "/Users/YOU/.local/bin/iphone-mirror-mcp"
    }
  }
}

向模型提问:

截取我的 iPhone 屏幕,并告诉我当前打开了哪个应用。

如果你的客户端支持安装 MCP bundle,且你想跳过工具链,也可以从 最新发布版本 获取 .mcpb bundle(请参阅注意事项——它经过临时签名,但未经公证)。

→ 完整入门指南 · 各客户端配置

要求

  • macOS 15+,并支持 iPhone Mirroring;与一台 iOS 18+ iPhone 配对(在附近、已锁定,且使用同一 Apple Account)
  • Xcode——用于 xcode_*、device_* 和 sim_* 工具
  • 授予启动服务的应用辅助功能和屏幕录制权限(你的终端,或托管客户端的桌面应用)——详情

一次性检查所有项目:

iphone-mirror-mcp doctor

它会测试全部四项权限、截取真实画面,并确认 macOS 确实在传递模拟输入,而不只是读取权限标记。先运行此检查,再排查其他问题。

功能

会话与健康状态status、doctor、mirror_launch、mirror_restart
查看屏幕screenshot、annotated_screenshot(为每个元素绘制方框并编号)、read_screen(OCR,包含可点击的中心点)、find_text、find_image、record_screen
正确等待wait_for_text、wait_for_screen_change、scroll_to
输入tap(使用 expect 验证)、double_tap、long_press、swipe、drag、type_text、paste_text(通过剪贴板输入 emoji/CJK)、read_clipboard、press_key、shake、batch
导航home、app_switcher、spotlight、launch_app、open_url
通知notifications、notification_click
Xcodexcode_list、xcode_build、xcode_test、xcresult_attachments
真机run_on_iphone、devices、device_install、device_launch、device_info、device_apps、device_uninstall
模拟器run_on_sim,以及完整的 simctl 工具集 — 推送、GPS、隐私授权、状态栏、外观、日志、媒体

→ 完整工具参考 — 全部 63 个工具及其参数,直接从服务自身的目录生成,因此内容始终同步。

坐标约定

每个 x/y 都是最新截图中的像素位置,原点位于左上角。输入时会重新查询窗口边界,并将像素位置按比例映射到当前边界中 — 因此,即使截图和点击之间窗口发生移动或调整大小,点击仍会落在正确位置。

文档

入门指南安装 → 权限 → 首次点击
连接客户端Claude Code、Claude Desktop、Cursor、VS Code、Zed、Codex、Windsurf
工具参考全部 63 个工具及其参数
操作指南操控应用、设备端测试循环、通知、批量操作
故障排除症状 → 原因 → 解决方法
架构输入实际上如何传达到手机
限制本工具确实无法实现的功能

已知限制

均经过测试,而非猜测 — 完整列表解释了原因。

  • 无法模拟捏合和旋转手势。 触控板手势不会经过 CGEvent 管道;物理捏合期间,事件监听器看不到任何内容,因此无从复现。
  • 一次只能连接一部手机 — 设备切换没有可脚本化的菜单。
  • 手机解锁或被拿起时,会话会暂停。 这是 Apple 的设计;要恢复会话,必须重新锁定手机。
  • 没有辅助功能树 — 元素模型基于 OCR 和模板匹配。无法访问 Face ID、控制中心和硬件按钮,受 DRM 保护的内容则会被截取为黑屏。

安全

镜像处于活动状态时,此服务可以查看并控制与 Mac 配对的 iPhone。请将此情况视为把已解锁的手机交给模型。 仅从你信任的客户端运行。

手机在被拿起或通过实体方式解锁的那一刻就会锁定会话,这是一个真正的紧急停止开关。paste_text 会短暂将文本放入 Mac 剪贴板,然后恢复原有内容;read_clipboard 会读取剪贴板内容。

请参阅 SECURITY.md,了解信任模型以及如何报告漏洞。

贡献

欢迎提交问题和拉取请求 — 请参阅 CONTRIBUTING.md。

scripts/run_tests.sh                    # build + unit/protocol tests + CLI smoke
MIRROR_MCP_LIVE=1 scripts/run_tests.sh  # + live tests (real window, capture, input)

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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