Use Phone Use
Connect an MCP client
Expose Phone Use tools to Claude Code, Codex, or another MCP-compatible client.
Register the server
claude mcp add --scope project phone-use -- bunx phone-use mcpChoose a device
| Value | Behavior |
|---|---|
| launch | Create and boot a dedicated simulator; delete it on exit |
| connect | Attach to the first booted simulator |
| Simulator UDID | Attach to that simulator |
Drive several phones
One agent can drive several phones through one server, for example to send a message on one phone and read it on another. Name each phone with --devices or PHONE_USE_DEVICES.
phone-use mcp --devices a=<simulator-udid>,b=<simulator-udid>
phone-use mcp --devices ios=launch,pixel=android:emulator-5554
phone-use mcp --devices a=cloud:<sandbox-id>,b=cloud:<sandbox-id>- A device is a simulator UDID,
launch,connect,android,android:<serial>, orcloud:<sandbox-id>. - Every tool except
notetakes an optionalphoneargument. Leaving it out uses the first phone. - Each result starts with
[phone <name>], and calls to different phones can run at the same time. - The
notescratchpad is shared, so a value read on one phone can be typed on another. - Prefer simulators that are already booted:
launchboots one per phone at startup, which can take longer than an MCP client waits.
Live viewer
Starting the MCP server also starts the browser viewer at http://localhost:4936.
Tool selection
- Use
ask,goto,search, ortogglewhen the intent is known. - Use a saved
skillfor an established multi-step workflow. - Use
observe,tap,type, andscrollfor unfamiliar interfaces. - Use coordinates only when no reliable semantic target exists.