Skip to content

Launch week: lifetime is was $67 $34.99 until 15 October. CodeWas $67 $34.99 lifetime until 15 Oct. takes another 10% off.for 10% off. Get it

Pass or fail for the screen your agent wrote.

Mobster CLI gives Claude Code an iOS simulator and checks the screens it writes, with pass or fail from assertions. Your agent gets each screen as the button names VoiceOver reads, then taps and types.

Everything runs on your Mac. Commands go over the cable to the phone, with no relay and no account. It’s MIT licensed, and it’s free.

Try it with no phone: mobster --demo

Claude Code through mobster mcp, making a Groceries list. An iPhone simulator, 5 Oct 2026, sped up 4×.

Start with Mobster for Mac

It sets up your iPhone in one window: Developer Mode, the runner and the cable, step by step. Then your agent connects with one command, and you watch every step it takes.

Download for Mac

Quickstart

  1. 1

    Install

    One line installs the mobster command. Run it again to upgrade.

    curl -fsSL https://mobster.dev/install.sh | sh
    brew install radishsoftware/tap/mobster
  2. 2

    Add it to your agent

    Finds Claude Code, Codex, Cursor, Zed and 9 more on your Mac and adds Mobster to each.

    mobster mcp install --all
  3. 3

    Ask

    Ask your agent to open your app on a simulator and check a screen. To try it with no iPhone, run the demo: a scripted phone, no key, no model calls.

    mobster --demo

Works with your agent

mobster mcp install --all finds the agents on your Mac and adds Mobster to each: Claude Code, Codex, Cursor, Zed and 9 more.

mobster mcp is a local stdio MCP server. Your agent gets tools to read the screen, tap, type, swipe, open apps and handle alerts, on a simulator Mobster manages.

Mobster’s agent asks before it sends, buys, posts or deletes. When your agent taps through MCP, only its own permission prompts apply.

Google Antigravity

Add Mobster to ~/.gemini/config/mcp_config.json, or open it from the agent panel: … › MCP Servers › Manage MCP Servers › View raw config.

{  "mcpServers": {    "mobster": {      "command": "mobster",      "args": ["mcp"]    }  }}

The skill and the Claude Code plugin

The mobster skill teaches your agent the verify loop, driving a phone and the safety rules. Add it with the server:

mobster mcp install --all --with-skill

Or on its own, for any agent that reads skills, and as a Claude Code plugin with the server, the skill and /mobster:verify:

npx skills add RadishSoftware/mobster
claude plugin marketplace add RadishSoftware/mobster
claude plugin install mobster@mobster
claude mcp add mobster -- mobster mcp

One line in your terminal. Claude Code then sees the phone tools.

What your agent reads

Each step reads the iPhone’s accessibility tree: the labelled controls VoiceOver reads, with their values, roles and state. Your agent taps “Send” by name, reads “$39.99 / year” as text, and knows a switch is on.

Mobster reads each field back after typing it. Smart also looks at a small screenshot for what the tree doesn’t say.

Screen  dev.mobster.daybreak  402×874 pt  keyboard: none  alert: none
e2  text    "Choose your plan"                                         id=paywall_title
e7  button  "Weekly"                            value="$2.99 / week"   id=plan_weekly
e13 button  "Monthly"                           value="$7.99 / month"  id=plan_monthly
e20 button  "Annual"                            value="$39.99 / year"  id=plan_annual  selected
e27 button  "Start free trial"                                         id=paywall_cta
The outline an agent reads: the Daybreak sample on a simulator, 28 Sep 2026, abridged.

Pass or fail for the screen your agent wrote

Your coding agent states what must be true (“Choose your plan” is on screen, three plan buttons, no “Loading”), drives your app on a simulator Mobster manages, and gets a verdict from the accessibility tree, with the frames that prove it.

A model never decides the verdict, so the verdict costs no model call. Steps you write in plain English run on your key. Every run leaves a one-file HTML report and a check file you can commit.

Failed3 of 5 passed18.2 s

The paywall shows three plans with Annual at $39.99 a year

  • text “Choose your plan”
  • count id=/^plan_/ == 3Found 2: plan_weekly, plan_monthly
  • value id=plan_annual == “$39.99 / year”Not found. Closest: plan_monthly
  • visible label=Restore Purchases role=button
  • no_text “Loading”
Daybreak, Mobster’s sample app, with a planted bug, on an iOS simulator, 28 Sep 2026

What you need

Mobster drives the phone through WebDriverAgent, so the iPhone needs Developer Mode and the Mac needs Xcode. That’s what buys the accessibility tree, and simulators too.

Tested on an iPhone 15 Pro running iOS 26, and on iOS 26 simulators. Mobster drives iPhones and iOS simulators from an Apple silicon Mac. It doesn’t drive Android, and it can’t get past Face ID or a passcode.

An Apple silicon Mac
Mobster and its runner are arm64 only.
Xcode, signed in to an Apple ID
Builds and signs the WebDriverAgent runner. A free Apple ID works; its signature lasts 7 days.
Homebrew, libimobiledevice and git
USB relay and device info; git fetches WebDriverAgent’s pinned source.
An iPhone with Developer Mode on
A USB data cable, and “Trust This Computer” on the phone.
An Anthropic or OpenAI key, for Smart
Mobster has no hosted model. Agents you connect bring their own.

Docs

Join the Discord

Open source, MIT

Mobster CLI is everything an agent needs on the phone: the command line, the MCP server, the built-in agent, mobster verify and the simulator manager. It’s on GitHub, and it’s what Mobster for Mac runs inside. Read what touches your phone, change it, or build on it.

Mobster for Mac adds guided setup for each phone, a live view, approvals, history and schedules, for $34.99 one time or $7.67 a month. See pricing