Drive a real iPhone via macOS iPhone Mirroring; Xcode build/test automation for sims and devices.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Let any LLM drive a real iPhone.
An MCP server that controls a physical iPhone through the built-in macOS iPhone Mirroring app, and automates Xcode development testing β build, test, install, and launch on simulators and devices, then operate the app on the mirrored screen with taps, swipes, typing, and OCR.
No jailbreak. Nothing installed on the phone. No XCUITest target.
63 tools. Works with Claude, GPT, Gemini, local models β anything that speaks MCP over stdio.
The installer checks your machine, builds a release binary, verifies permissions end to end, and prints the exact config for your client.
Then, for Claude Code:
Or for any other MCP client:
Ask your model:
Take a screenshot of my iPhone and tell me what app is open.
Or grab the .mcpb bundle from the
latest release
if your client installs MCP bundles and you would rather skip the toolchain
(see the caveats β it is
ad-hoc signed but not notarized).
β Full getting-started guide Β· per-client config
xcode_*, device_*, and sim_* toolsCheck everything at once:
It tests all four permissions, captures a real frame, and confirms macOS is actually delivering synthetic input β rather than just reading permission flags. Run it before you suspect anything else.
| Session & health | status, doctor, mirror_launch, mirror_restart |
| See the screen | screenshot, annotated_screenshot (every element boxed + numbered), read_screen (OCR with tappable centers), find_text, find_image, record_screen |
| Wait properly | wait_for_text, wait_for_screen_change, scroll_to |
| Input | tap (with expect verification), double_tap, long_press, swipe, drag, type_text, paste_text (emoji/CJK via clipboard), read_clipboard, press_key, shake, batch |
| Navigate | home, app_switcher, spotlight, launch_app, open_url |
| Notifications | notifications, notification_click |
| Xcode | xcode_list, xcode_build, xcode_test, xcresult_attachments |
| Real devices | run_on_iphone, devices, device_install, device_launch, device_info, device_apps, device_uninstall |
| Simulators | run_on_sim plus the full simctl belt β push, GPS, privacy grants, status bar, appearance, logs, media |
β Complete tool reference β all 63, with parameters, generated from the server's own catalog so it cannot drift.
Every x/y is a pixel position in the most recent screenshot, origin
top-left. At input time the window bounds are re-queried and the pixel maps
proportionally into the current bounds β so a window that moved or was resized
between screenshot and tap still receives the tap in the right place.
| Getting started | Install β permissions β first tap |
| Connecting a client | Claude Code, Claude Desktop, Cursor, VS Code, Zed, Codex, Windsurf |
| Tool reference | All 63 tools and their parameters |
| Recipes | Driving an app, the on-device test loop, notifications, batching |
| Troubleshooting | Symptoms β causes β fixes |
| Architecture | How input actually reaches the phone |
| Limitations | What this genuinely cannot do |
Tested, not guessed β the full list explains why.
This server can see and control whatever iPhone the Mac is paired with while mirroring is active. Treat it like handing your unlocked phone to the model. Run it only from clients you trust.
The phone locks the session the moment it is picked up or unlocked physically,
which is a real kill switch. paste_text briefly places text on the Mac
clipboard and restores what was there; read_clipboard reads it.
See SECURITY.md for the trust model and how to report a vulnerability.
Issues and pull requests welcome β see CONTRIBUTING.md.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/iphone-mirror)<a href="https://allmcps.com/mcp/iphone-mirror"><img src="https://allmcps.com/api/badge/iphone-mirror?style=directory" alt="IPhone Mirror on AllMCPs" /></a>