0.5 iOS Simulators and Android emulators. App installs and screen recording for agents.

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.5.1macOS 15+USB / LAN / LOCAL MCP

Works with

CodexClaude CodeModel Context ProtocoliPhone over USB iPhone over Wi-FiAndroid 11+SimulatorsWebDriverAgentVision OCR VideoToolbox H.264iOS Accessibility

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.

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.

Open the camera. The mirror stays live.

Plug in over USB

Connect, trust the Mac, and the device appears.

Standalone mirror

True device proportions for debugging, capture, and demos.

Multiple iPhones

Enter an SM- activation code to unlock multiple devices. No sign-in required.

Native speed

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

Local recognition

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

MCP control

Tap, swipe, long-press, type, and clear on iPhone or Android 11+ from an agent workflow.

ALSO ON ANDROID

Android 11+ is supported, too.

Connect with USB debugging and use the same StupidMirror workspace for live mirroring, device audio, direct control, and MCP automation.

ADB discovery H.264 + audio UiAutomator2 control Same MCP tools

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 SETUPPrepare once over USB
LOCAL SERVERMCP configuration included
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.

CODEX

Your phone, inside Codex.

Connect once. View, operate, annotate.

Open MCP Automation settings and click Connect Codex. Select StupidMirror in a new chat to open the embedded phone panel.

01

Live video in your chat

Local WebRTC carries the phone video into Codex. Switch devices, pause, or resume without a separate mirror window.

02

You and your AI can operate

Enable manual control to tap and drag. AI observations keep images by default, with compact text and targeted controls.

03

Point it out with annotations

Freeze a frame, move and resize numbered regions, then send the marked image and your note with Command-Enter. The composer stays below the picture.

Read the Codex setup guide

Video stays local. Screenshots requested by your AI and annotations you send follow your AI client’s data settings. Host support is required for image messages.

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.

Set up MCP for Claude Code
observe_screentap_texttap_elementswipelong_press type_textreplace_textassert_screenwait_forget_ui_tree show_screenpress_buttonactivate_appscrollscreenshot
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
03

Demos & multiple devices

Standalone mirrors fit recording, streaming, and demos; an account-bound SM- license unlocks parallel iPhone workflows.

  • Device-ratio windows
  • Parallel devices
  • English and Chinese UI

06 / FAQ

Common questions.

Does StupidMirror work without a cable?

Yes. Run Set Up This iPhone once over USB, then keep the iPhone and the Mac on the same network and mirror it over Wi-Fi. Wireless audio is not available.

Why does it ask for Camera permission?

macOS exposes a USB-connected iPhone screen as a camera-style capture source. StupidMirror reads that source; it does not use the Mac webcam.

Does it support Android?

Yes. Android 11 or newer over ADB with USB debugging enabled. Video and device audio come from scrcpy, and control uses Appium with UiAutomator2.

Which AI agents can use it?

Codex through the bundled plugin, which shows the live phone screen inside the chat, and Claude Code or other MCP clients through the local MCP server. StupidMirror needs no model API key.

Does the screen or my data go through a cloud service?

No. The Codex panel streams over encrypted local WebRTC without a cloud relay, the MCP server listens on this Mac only, and text recognition runs locally with Apple Vision.

Is StupidMirror free?

One device can be mirrored and controlled without signing in. An SM- activation code unlocks several devices at once. The source is available under PolyForm Noncommercial, and commercial use needs separate authorization.

What do I need to run it?

A Mac with macOS 15 or newer. Wireless iPhone mirroring and iPhone control also need Developer Mode on the phone and an Apple Development signing identity on the Mac; simulators need Xcode.

Now put a real iPhone
into your workflow.

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

Enlarged product screenshot