Control a real iPhone through macOS iPhone Mirroring: screenshot, tap, swipe, type.
Connect Mirroir to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Control a real iPhone through macOS iPhone Mirroring: screenshot, tap, swipe, type. The mirroir mcp server is what makes that connection.
Give your AI eyes, hands, and a real iPhone. An MCP server that lets any AI agent see the screen, tap what it needs, and figure the rest out — through macOS iPhone Mirroring. Experimental support for macOS windows. 33 tools, any MCP client.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
chevron — >dismiss — ×back — <Mode — ocrBackend settingBoth — "both"app_name — requiredgoal — nonegoals — nonemax_depth — 6max_screens — 30max_time — 300strategy — autoConfiguration is passed through the environment: OPENAI_API_KEY, ANTHROPIC_API_KEY. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
The server ships on npm as mirroir-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.
Plenty of browser automation servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Mirroir's toolset — chevron, dismiss, back and 11 more — is a fair guide to whether it matches your workflow. It is maintained by jfarcand; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| chevron | > |
| dismiss | × |
| back | < |
| Mode | ocrBackend setting |
| Both | "both" |
| app_name | required |
| goal | none |
| goals | none |
| max_depth | 6 |
| max_screens | 30 |
| max_time | 300 |
| strategy | auto |
| explorer | bfs |
| skip_calibration | false |
{
"mcpServers": {
"mirroir": {
"command": "npx",
"args": ["-y", "mirroir-mcp"],
"env": {
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| OPENAI_API_KEY | Credential the server authenticates with. | Yes |
| ANTHROPIC_API_KEY | Credential the server authenticates with. | Yes |
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
Industrial-strength web extraction — render, scrape, crawl and search entire sites into clean markdown.
The original Chromium automation reference server — simple, screenshot-driven browser control.
Give your coding agent the full DevTools toolbox: traces, network, console, heap snapshots and Lighthouse.
Puppeteer-powered browser control that drives pages from the accessibility tree instead of pixels.
Cloud browsers for AI agents — automation sessions that run in Browserbase's fleet, not on your machine.