# Mobster > Mobster lets Claude Code or its built-in agent use your iPhone from your Mac. It opens apps, taps and types, and it asks before it sends. Mobster lets AI agents use your iPhone from your Mac. Claude Code, any MCP client or Mobster's built-in agent can open apps, read each screen's accessibility tree (the labelled controls VoiceOver reads), tap, type and swipe, over USB or on an iOS simulator Mobster manages, with no Mobster server in the loop. - Mobster for Mac is the product: one app on your Mac that sets up your iPhone, runs tasks on it with Mobster's agent (Smart, on your Anthropic or OpenAI key), shows each step live, asks before it sends, buys, posts or deletes, and saves workflows. $34.99 one time during launch week (regular price $67), or $7.67 a month. - Underneath it is Mobster CLI, free and open source under MIT, for developers: the `mobster` command, a local stdio MCP server (`mobster mcp`), `mobster verify` and a headless simulator manager (`mobster sim`). `mobster --demo` runs it with a scripted phone, no iPhone and no key. Source: https://github.com/RadishSoftware/mobster - How it works: Mobster drives the phone through WebDriverAgent, the open-source XCTest runner maintained by the Appium project. Each step reads the accessibility tree: labels, values, roles, identifiers, enabled and selected state. Smart also looks at a small screenshot. - Needs an Apple silicon Mac with Xcode (a free Apple ID works), an iPhone with Developer Mode on, and a USB cable. Mobster CLI on its own also needs Homebrew. - Install: `curl -fsSL https://mobster.dev/install.sh | sh` or `brew install radishsoftware/tap/mobster`. Add Mobster to every MCP client on the Mac (Claude Code, Codex, Cursor, Zed and 9 more): `mobster mcp install --all`. Claude Code alone: `claude mcp add mobster -- mobster mcp`. - For iOS developers: `mobster verify` runs your app on a headless simulator and returns passed, failed, needs_review or couldnt_run (exit codes 0 to 3) from assertions on the accessibility tree, never from a model, with frames, an overlay and a one-file HTML report. - Mobster's agent asks before a tap that would send, buy, post or delete, in the Mac app, `mobster chat` and the terminal UI. When an outside agent taps through MCP, only that agent's own permission prompts apply. - Limits: iPhones and iOS simulators only (no Android); the iPhone must be plugged in with a cable; it never enters a passcode or uses Face ID; games and apps that draw their own screens give it little to read. - Tested on an iPhone 15 Pro running iOS 26 and on iOS 26 simulators. Mobster's MCP server is tested with Claude Code. - Made by Radish Retail, LLC. Support: support@radish.software, or ask in the Discord: https://discord.gg/mobster. ## When to use Mobster - A coding agent changed an iOS screen and needs to check it: `mobster verify` (or `mobster mcp`) runs the app on a headless simulator Mobster creates and returns passed, failed, needs_review or couldnt_run from assertions on the accessibility tree, never from a model. - You want Claude Code to tap, type and swipe in an iOS app by element name instead of pixel coordinates. - You want an agent to do a task in an app on your own iPhone, from your Mac over USB, and to ask before anything is sent, bought, posted or deleted (Mobster for Mac or the terminal UI). ## When not to use Mobster - Android, web pages, or games and apps that draw their own screens with little accessibility text. - Passcodes and Face ID: Mobster never enters them. - Phones that aren't plugged into a Mac; cloud device farms. ## Not to be confused with - PyPI `mobster` (an SBOM tool), LinkedIn's archived mobster CLI, the caravagnalab R package and the mob-programming timer at mobster.cc. Mobster (mobster.dev) by Radish Retail, LLC installs as `mobster-cli` or with `curl -fsSL https://mobster.dev/install.sh | sh`. ## Docs - [Getting started](https://docs.mobster.dev/getting-started): install, the demo, connect an iPhone, a first task - [Getting started with verify](https://docs.mobster.dev/verify): a first check on the sample app, the report, saved checks, scripts - [Coding agents (MCP)](https://docs.mobster.dev/mcp-server): mobster mcp in Claude Code, Codex and Cursor; every tool; the key-less and Smart loops - [Checks](https://docs.mobster.dev/checks): the check file, assertions, selectors, verdicts, exit codes and the result JSON - [Simulators](https://docs.mobster.dev/simulators): the simulators Mobster creates, ports, WebDriverAgent, reset levels, mobster sim - [Device setup](https://docs.mobster.dev/device-setup): WebDriverAgent on a USB iPhone: Developer Mode, Xcode, signing - [Several phones](https://docs.mobster.dev/devices): mobster devices, --device, states and ports - [What Mobster can and can't do](https://docs.mobster.dev/capabilities): sign-in codes, notifications, the clipboard, installs, what it refuses - [Scripts and the API](https://docs.mobster.dev/scripting): mobster run --json events and exit codes, the local HTTP API - [CLI reference](https://docs.mobster.dev/cli): every command, flag and exit code - [Troubleshooting](https://docs.mobster.dev/troubleshooting): by symptom ## Site - [Home](https://mobster.dev/): what Mobster does, how it works, pricing - [Developers](https://mobster.dev/developers): Mobster CLI: install, connecting agents, the accessibility tree, mobster verify, requirements - [Questions](https://mobster.dev/faq): every FAQ answer - [How Mobster compares](https://mobster.dev/compare): Mobster, TapKit, Sauce Labs Hosted MCP and the open-source iPhone agent tools in one table - [Pricing](https://mobster.dev/#pricing): $34.99 one time or $7.67 a month for Mobster for Mac; the CLI is free - [Integrations](https://mobster.dev/integrations): mobster mcp in each MCP client, with the exact setup - [Blog](https://mobster.dev/blog): guides and comparisons from the team - [About](https://mobster.dev/about): who makes Mobster, how to reach a person, security - [Press](https://mobster.dev/press): boilerplate, facts, logos and captures ## Integrations - [Claude Code](https://mobster.dev/integrations/claude-code): Add Mobster's MCP server to Claude Code with one command, then let Claude check the iOS screens it writes on a simulator or use your iPhone over USB. (tested) - [Codex](https://mobster.dev/integrations/codex): Connect Mobster to OpenAI's Codex with codex mcp add, give it an AGENTS.md rule, and let it check your iOS app on a simulator with verdicts from assertions. (from the docs) - [Cursor](https://mobster.dev/integrations/cursor): Add Mobster to Cursor's mcp.json with the full path to the command, then let Cursor's agent check your iOS app's screens on a simulator Mobster manages. (from the docs) - [VS Code](https://mobster.dev/integrations/vs-code): Add Mobster's MCP server to VS Code for GitHub Copilot's agent mode, in the portable .mcp.json or .vscode/mcp.json, and check iOS screens on a simulator. (from the docs) - [Claude Desktop](https://mobster.dev/integrations/claude-desktop): Add Mobster to Claude Desktop's config file with an absolute path, restart the app, and let Claude read and tap through an iOS simulator or your iPhone. (from the docs) - [Gemini CLI](https://mobster.dev/integrations/gemini-cli): Add Mobster to Gemini CLI with gemini mcp add at user scope, trust the folder, and let Gemini check your iOS app on a simulator with verdicts from assertions. (from the docs) - [opencode](https://mobster.dev/integrations/opencode): Add Mobster to opencode.json as a local MCP server with a one-array command, set a safe timeout, and let opencode check your iOS app on a simulator. (from the docs) - [Windsurf (Devin Desktop)](https://mobster.dev/integrations/windsurf): Windsurf is now Devin Desktop, and its MCP config moved. Add Mobster for Cascade and Devin Local in one file, and let it check your iOS app on a simulator. (from the docs) ## Comparisons - [TapKit (tapkit.ai) alternative: Mobster vs TapKit](https://mobster.dev/compare/tapkit): Mobster reads every iPhone control by name, keeps commands on your Mac and asks before it sends, for $34.99 one time. TapKit is $49 a month per phone. - [Maestro alternative for iOS: Mobster vs Maestro](https://mobster.dev/compare/maestro): Maestro doesn't support physical iPhones yet. Mobster tests your iOS app on your iPhone and on simulators, with pass or fail from assertions, never a model. - [Appium alternatives for iOS: Mobster vs Appium](https://mobster.dev/compare/appium): Mobster runs on the same WebDriverAgent as Appium, but your agent gets a screen it can read, MCP tools, verdicts from assertions and a runner set up for you. - [XCUITest alternatives: keep XCUITest, add an agent](https://mobster.dev/compare/xcuitest): Mobster checks your iOS app from outside the Xcode project: plain-English checks your coding agent runs, with pass or fail from the accessibility tree. ## Blog - [Give Claude Code a real iPhone](https://mobster.dev/blog/claude-code-real-iphone): Claude Code can write a SwiftUI screen but can't see it. Mobster's MCP server lets it read each screen by name, drive it, and prove it works with a verdict. - [How to test an iOS app with an AI agent](https://mobster.dev/blog/ai-e2e-tests-ios-assertions): Let a model drive your iOS app and never let it judge. Mobster decides pass or fail from accessibility tree assertions on one settled screen, with proof. - [Test your iOS app with Codex](https://mobster.dev/blog/test-ios-app-with-codex): Add Mobster's MCP server to OpenAI's Codex so it checks the iOS screens it writes on a headless simulator, with pass or fail from accessibility assertions. - [Maestro vs XCUITest vs Mobster: when to use which](https://mobster.dev/blog/maestro-vs-xcuitest-vs-mobster): XCUITest, Maestro and Mobster all check iOS screens. If a coding agent writes yours, Mobster is built for it: plain-English checks, verdicts from assertions. - [Automate your own iPhone from a Mac, with approvals](https://mobster.dev/blog/automate-iphone-from-mac): Mobster runs tasks in the apps on your iPhone from your Mac over a USB cable, reads every button by name, and asks before it sends, buys, posts or deletes. - [USB or Wi-Fi for iPhone automation: why Mobster uses the cable](https://mobster.dev/blog/iphone-automation-usb-vs-wifi): The runner that lets an agent tap your iPhone has no password. Mobster keeps it on the phone's loopback, where only your USB cable reaches it. Here's how. - [Why Mobster is open source](https://mobster.dev/blog/why-mobster-is-open-source): An agent on your iPhone can read your messages and tap Send, so you should be able to read its code. Mobster CLI is MIT licensed, and here's what that gets you. ## Optional - [llms-full.txt](https://mobster.dev/llms-full.txt): this file with every integration page, comparison and post in full - [The docs in full](https://docs.mobster.dev/llms-full.txt): every docs.mobster.dev page as Markdown, published by the docs - [Mobster CLI on GitHub](https://github.com/RadishSoftware/mobster): source, README and issues - [Discord](https://discord.gg/mobster): the community: questions, setup help and the team - [RSS](https://mobster.dev/blog/rss.xml): the blog's feed