iPhone Mirror — Claude Code MCP server: drive a real iPhone
An MCP server that drives a physical iPhone through macOS iPhone Mirroring and runs Xcode builds and tests on simulators and devices.
Open on GitHubWhat iPhone Mirror does
The server hooks into Apple's built-in iPhone Mirroring app, so the mirrored screen becomes something the model can act on: screenshots, OCR, taps, swipes, typed text. Nothing gets installed on the phone, and no jailbreak is involved.
It ships 63 tools. Some cover Xcode work — build, test, install, launch on simulators and attached devices. The rest touch the screen: screenshot, read_screen, tap, paste_text, wait_for_text. That last group is how you assert what a user actually sees. A doctor command checks permissions and confirms macOS is really delivering synthetic input rather than just reporting flags.
You need macOS 15+ and an iPhone on iOS 18+, paired nearby, locked, on the same Apple Account. Accessibility and Screen Recording go to whichever app launches the server — your terminal, or the desktop client hosting it. Without both, nothing runs. Pinch and rotate can't be synthesized, and the session pauses the moment the phone is unlocked or picked up.
What it helps with
- run a build and tests on a real iPhone from the chat
- verify the app shows the right text after launch
- tap a button on the phone screen without touching it
- grab a screenshot and read the text on it
- wait for a label to appear instead of sleeping
Example prompts for the agent
- Take a screenshot of my iPhone and tell me which app is open
- Build the project and launch it on the paired iPhone with
run_on_iphone - Find the text "Continue" on screen and tap it
How to install iPhone Mirror
Install
The MCP registry has no launch command for it: see the repository README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about iPhone Mirror
How do I install iPhone Mirror in Claude Code?
Clone the repository, change into the folder and run ./install.sh — it builds the binary and verifies permissions. Then register the server with claude mcp add --scope user iphone-mirror -- ~/.local/bin/iphone-mirror-mcp.
What does iPhone Mirror do?
It controls a real iPhone through macOS iPhone Mirroring: screenshots, OCR, taps, swipes, text entry. It also automates Xcode builds and tests on simulators and devices.
Which permissions does the server need?
Accessibility and Screen Recording, granted to the app that launches the server. Run iphone-mirror-mcp doctor to check all of them at once.