Android + iOS · Windows + macOS

Unlock the agentic world on your phone

XPhoneUse is a screen mirroring tool for Android and iOS devices. It integrates capabilities including real-time desktop streaming, live device control, and text input into agents such as Claude, Codex and WorkBuddy via MCP, CLI and Skills, enabling agents to operate mobile phones just like human users.

Free · No account · Everything stays on your machine

XPhoneUse

What people build

Real use cases from the community — each one written by the person who submitted it, reviewed before it goes up.

See more cases

Why XPhoneUse

A real device, not an emulator — and an interface agents can actually use.

📱

A real phone, not an emulator

Your actual device with your actual accounts and app state. No fake GPS, no risk scores, no “this app cannot run on an emulator”.

🤖

Built for agents

An MCP server runs inside the app, alongside the CLI and the skill, exposing taps, text input, scrolling, screenshots and more. Claude, Codex, WorkBuddy and any other agent can use it.

🔌

Android and iOS

Android over scrcpy with full input and control. iOS 27+ over the USB CoreDevice tunnel — screen, input and screenshots on one cable. Older iOS falls back to AirPlay mirroring.

🔒

Nothing leaves your machine

The MCP endpoint is 127.0.0.1:7070 and the device link is USB or your own LAN. No relay server, no cloud account, no telemetry about what you do on the phone.

🎬

Screenshots, recording, macros

Grab the screen in well under a second on the iOS tunnel, record a session to video, or record a flow once and replay it forever.

Small things that matter

Device nicknames, Wi-Fi debugging for Android, quality presets, light/dark themes, and an installer that sets up the Windows drivers for iPhone support.

Your agent's hands and eyes

Anything a person can do on the phone, an agent can do through the CLI or MCP: open an app, find a button by its text, tap it, type a message, scroll a feed, read the result back, and verify with a cheap screenshot diff.

  • tap · longtap · swipe · scroll in normalized coordinates
  • text — full Unicode, with an --enter that sends the message
  • find / ui-tree — read the Android UI instead of paying for pixels
  • screenshot --compare — local pixel diff, only look when something changed
  • macro record / macro play — replay a flow without re-deriving it
Docs
# the agent finds the button by text, taps it, types, verifies
python scripts/xphoneuse-cli.py connect
python scripts/xphoneuse-cli.py find "发送"
python scripts/xphoneuse-cli.py tap 0.86 0.94
python scripts/xphoneuse-cli.py text "今晚七点见" --enter
python scripts/xphoneuse-cli.py screenshot --compare

Running in three steps

No SDK, no build step, no jailbreak or root.

Plug in and allow

Android: turn on USB debugging. iPhone: unlock and tap Trust - the developer image the screen, touch and screenshots need is installed by the app, and so is the Developer Mode that installing it needs (it warns for 10 seconds first; the phone restarts once).

Mirror it

Pick the device in the app. The window switches to the live screen, and input goes both ways — you can use the phone while the agent does.

Hand it over

Please enter the following in agent conversations such as Claude Code, Codex, WorkBuddy: Please install skill: https://xphoneuse.aovik.com/static/skills/xphoneuse.zip

Questions people ask

Do I need to root or jailbreak my phone?

No. Android only needs USB debugging (and Wi-Fi debugging if you want to work cable-free). iPhone needs the cable and one trust confirmation: the screen, touch, screenshot and pasteboard services come from the device's developer image, and the device refuses to install one while Developer Mode is off - so the app downloads and mounts it, and turns Developer Mode on itself when it has to (after a 10-second warning; the phone restarts once). You can turn the switch off again afterwards.

Does my screen or my data go to a server?

No. The video stream goes from the phone to your machine, and the MCP server listens on 127.0.0.1 only. There is no relay and no account. The app sends anonymous usage counts (launch/exit, platform) to a self-hosted analytics instance — never screen content, app names or device identifiers.

Why does iOS ask “Allow Paste?” when the agent types?

Non-ASCII text is delivered through the iPhone clipboard, and iOS asks every app the first time. Tap Allow Paste once, or make it permanent per app in Settings → [App] → Paste from Other Apps → Allow. Pure ASCII text is typed key by key and never triggers it.

Can the agent and I use the phone at the same time?

Yes. The app and the MCP session share one connection to the device, so you can watch (or take over) while the agent works. Screenshots prefer the live mirror frame, which costs nothing on the device.

What can't it do on iOS?

iOS has no back button equivalent, no rotation control and no audio forwarding — those are Android-only. If neither the USB tunnel nor the Bluetooth bridge is attached, an iPhone session is view-only.

Is there an API for automation?

Yes — that is the point. Use the CLI, or speak MCP directly from your own agent: 27 tools covering input, screenshots, the UI tree, app launching, macros, Wi-Fi debugging and device management.

Get in touch

Something broken, something missing, or you want to talk about wiring this into your own agent - reach me directly.

X / Twitter — @kindle_jiang

DM or mention me - both work.

xphoneuse@aovik.com

Prefer email? That reaches me too.

Unlock the agentic world on your phone

Download XPhoneUse, plug in a device, and Unlock the agentic world on your phone.

Download now