---
title: "Mobster CLI: iPhone MCP server and iOS UI tests for agents"
description: "Mobster CLI gives Claude Code iOS simulators over MCP, and checks your app’s screens with pass or fail from assertions on the screen, not a model. Free, MIT."
canonical: "https://mobster.dev/developers"
last-updated: "2026-10-08"
---

Mobster CLI gives Claude Code iOS simulators over MCP, and checks your app’s screens with pass or fail from assertions on the screen, not a model. Free, MIT.

# 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.

[Download Mobster for Mac](https://mobster.dev/download) [Install the CLI](#install) [View on GitHub](https://github.com/RadishSoftware/mobster)

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.

- [Claude Code mobster mcp install](https://mobster.dev/integrations/claude-code)
- [Codex mobster mcp install](https://mobster.dev/integrations/codex)
- [Cursor mobster mcp install](https://mobster.dev/integrations/cursor)
- [Google Antigravity Set up from the docs](#antigravity)
- [VS Code (Copilot) mobster mcp install](https://mobster.dev/integrations/vs-code)
- [Claude Desktop mobster mcp install](https://mobster.dev/integrations/claude-desktop)
- [Gemini CLI mobster mcp install](https://mobster.dev/integrations/gemini-cli)
- [Windsurf mobster mcp install](https://mobster.dev/integrations/windsurf)
- [opencode mobster mcp install](https://mobster.dev/integrations/opencode)
- [Zed mobster mcp install](https://docs.mobster.dev/mcp-server)
- [Goose mobster mcp install](https://docs.mobster.dev/mcp-server)
- [Cline mobster mcp install](https://docs.mobster.dev/mcp-server)
- [Amp mobster mcp install](https://docs.mobster.dev/mcp-server)

Tested with Claude Code. For the others, the setup follows each client’s own MCP documentation. Names and logos belong to their makers.

### 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.

Failed 3 of 5 passed 18.2 s

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

- `text “Choose your plan”`
- `count id=/^plan_/ == 3` Found 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

- [Getting started Install, connect, first run](https://docs.mobster.dev/getting-started)
- [MCP server Tools, clients, approvals](https://docs.mobster.dev/mcp-server)
- [Checks The check file, assertion by assertion](https://docs.mobster.dev/checks)
- [mobster verify Verdicts, frames and the report](https://docs.mobster.dev/verify)
- [Simulators The simulators Mobster manages](https://docs.mobster.dev/simulators)
- [Device setup Developer Mode and the runner](https://docs.mobster.dev/device-setup)
- [CLI reference Every command and flag](https://docs.mobster.dev/cli)
- [Troubleshooting When a step doesn’t work](https://docs.mobster.dev/troubleshooting)

[Join the Discord](https://discord.gg/mobster)

## 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](https://github.com/RadishSoftware/mobster), 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](https://mobster.dev/#pricing)
