StupidMirror for macOS

Put your iPhone on your Mac. Leave the rest to StupidMirror.

Mirror a real iPhone over USB or Wi-Fi. Then let local OCR, Accessibility, and MCP make it operable by you and your AI agent.

v0.2.11 macOS 15+ USB / LAN / LOCAL MCP
01 / MIRROR

It is a mirror,

and a device operations console.

Mirroring, control, and automation no longer live in separate tools. Discovery, live video, independent windows, and AI actions all happen in one native Mac app.

CAMERA / MIRROR LIVE
Open the camera. The mirror stays live.
A mirror built to stay live

No lock screen.
No context switching.

StupidMirror uses the iPhone screen source exposed directly by macOS. Even while the iPhone camera is active, the dashboard and standalone mirror keep rendering.

01
Plug in over USB

Connect, trust the Mac, and the device appears.

02
Standalone mirror

True device proportions for debugging, capture, and demos.

03
Multiple iPhones

Mirror and control multiple devices after activation.

01 / NATIVE

Native speed

Swift, AVFoundation, and CoreMediaIO — without a heavyweight browser shell.

02 / WIRELESS

Wireless freedom

Prepare once over USB, then discover and mirror on the same local network.

03 / VISION

Local recognition

macOS Vision OCR and iOS Accessibility replace visual guesswork with real targets.

04 / MCP

MCP control

Tap, swipe, long-press, type, and clear — directly from an agent workflow.

02 / WIRELESS

Start with one cable.
Keep going wirelessly.

The built-in guide checks the device, your Apple development account, and the screen agent. After one USB setup, disconnect the cable and keep a full-resolution H.264 mirror over your LAN.

GUIDED SETUP01—04
Prepare once over USB
LANSame-network mirror
SRTComplete access units
H.264VideoToolbox codec

Mirroring and control stay separate. Viewing a screen never installs or starts the control path behind your back.

LOCAL SERVERREADY
MCP configuration included
03 / AI HARNESS

AI is not a spectator.
It can operate the iPhone.

StupidMirror includes an MCP server bound to localhost. It embeds no model and asks for no model API key — it hands the real device to the Codex or Claude Code setup you already use.

OBSERVETAPSWIPE LONG PRESSTYPEASSERT
01

Understand, then act

The latest frame, local Vision OCR, and iOS Accessibility converge on the real target.

02

Every action is visible

Targets, taps, and swipe paths appear only on the Mac, ready for review or takeover.

03

Built for real interfaces

System Settings, the App Store, dense feeds, and custom canvases all yield semantic targets.

04 / PRIVACY

Recognition stays local.
Control stays with you.

OCR runs on demand on your Mac. Action overlays never go back to the iPhone or into the video stream. StupidMirror embeds no model, needs no model API key, and never uploads the screen to a model service on its own.

LOCALHOST MCP ON-DEMAND OCR VISIBLE ACTIONS
05 / USE CASES

One Mac.
Three new ways to work.

01

Development & testing

Debug real hardware, reproduce issues, and rerun flows without bouncing between iPhone and Mac.

  • Live device video
  • Visible action trails
  • Fast WDA reconnects
02

AI automation

Hand a real device to Codex or Claude Code through MCP for observable, verifiable workflows.

  • Semantic targeting
  • Local OCR
  • Taps and text input
03

Demos & multiple devices

Standalone mirrors fit recording, streaming, and demos; activation unlocks parallel iPhone workflows.

  • Device-ratio windows
  • Parallel devices
  • English and Chinese UI
StupidMirror for macOS

Now put a real iPhone
into your workflow.

macOS 15+ · Free for personal and noncommercial use · Commercial license required

Enlarged product screenshot