---
title: "Why Mobster is open source | Mobster"
description: "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."
canonical: "https://mobster.dev/blog/why-mobster-is-open-source"
last-updated: "2026-10-08"
---

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.

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

7 October 2026 (updated 8 October 2026) 5 min read The Mobster team

- [Open source](https://mobster.dev/blog/tags/open-source)

An agent that drives your iPhone can read your messages and tap Send. Before you let one near your phone, you should be able to read the code that does it. So the whole harness, the part that touches your phone, is open source under MIT: [Mobster CLI](https://github.com/RadishSoftware/mobster). You don’t have to take our word for what it does with your screens.

## What’s open: the whole harness

Mobster CLI is MIT licensed, copyright Radish Retail, LLC.

| Part | What it does |
|---|---|
| `mobster` | The terminal UI: type a task, watch each step, answer approvals, keep a history |
| `mobster run` and `mobster serve` | One task from a script, with JSON events; a local HTTP API for longer-running programs |
| `mobster mcp` | A local MCP server, so Claude Code or your own agent can read the screen and tap, type and swipe |
| Smart | Mobster’s own agent loop, on your OpenAI or Anthropic key |
| `mobster verify` | Pass or fail for an iOS app’s screen, from assertions on the accessibility tree |
| `mobster sim` | Creates, boots and cleans up headless iOS simulators that Mobster owns |

## Read what touches your phone

The loop that reads the screen, decides and acts is public, and so is every guard in front of an action. Mobster for Mac runs that same engine. To check a claim on this site, open these files:

| File | What to look for |
|---|---|
| `mobile_agent/drivers.py` | How Mobster reads the accessibility tree and taps and types through WebDriverAgent |
| `mobile_agent/agent.py` | The observe, decide, verify, act loop, and every check before an action is sent |
| `mobile_agent/task_policy.py` | Which actions stop for your approval |
| `mobile_agent/journal.py` | How each action is written down before it’s sent |
| `mobile_agent/device_manager.py` | How the runner is built so it listens over USB only |

Getting Mobster past an approval while “Ask before acting” is on, or reaching WebDriverAgent from another machine, counts as a security vulnerability. Report one privately from the repository’s [Security tab](https://github.com/RadishSoftware/mobster/security) on GitHub.

## Check the privacy claims yourself

Commands go from your agent to your Mac to the phone over the cable. There’s no relay server and no Mobster account. WebDriverAgent listens on the phone’s loopback address, which only USB reaches, and the local API listens on 127.0.0.1 with a token that’s new for each launch. The Mac app has no analytics and no crash reporting.

Screens leave your Mac only when a model needs them: Mobster’s own agent sends each step’s screen text and a small screenshot to the AI provider whose key you gave, under that provider’s terms. An agent you connect over MCP sees what Mobster’s tools return to it. With the harness open, you can check that list against the code. [USB or Wi-Fi for iPhone automation](https://mobster.dev/blog/iphone-automation-usb-vs-wifi) walks through the network side.

## Build on it

Mobster is meant to sit under other agents. `mobster mcp` speaks the Model Context Protocol over stdio, and `mobster mcp install --all` adds it to every MCP client it finds on your Mac, with the absolute path, a backup of each file it edits, and `--dry-run` to see the diff first. `mobster run --json` prints one JSON object per event, with the result last. `mobster serve` is a local HTTP API with server-sent events. MIT lets you read them, change them and ship them inside your own tools.

## The CLI is the trial

There’s no free trial of Mobster for Mac, because the CLI already has everything an agent needs. Install it, run `mobster --demo` with no phone and no key, then connect a simulator or a phone. If you never need the app, you never pay us.

Mobster for Mac is how we pay for the work. It runs the same engine and adds what’s tedious from Terminal: guided setup that builds and signs WebDriverAgent and refreshes a free Apple Account’s 7-day signature, a live view of the phone with manual control, approvals as cards, history of every task with its steps and screens, saved workflows and schedules. It costs $34.99 one time, a lifetime license, or $7.67 a month. The app’s own code is closed; the engine inside it is the open-source CLI, published from the same repository.

## What it’s built on

Mobster stands on other open-source projects, and runs them as separate programs:

- **WebDriverAgent** (BSD-3-Clause), the XCTest runner the Appium project maintains. Mobster pins a release, patches it so it answers over USB only, and builds it with your own Xcode and Apple Account.
- **libimobiledevice and libusbmuxd** (LGPL-2.1-or-later), whose `idevice_id`, `ideviceinfo` and `iproxy` find the phone and relay its ports over USB.
- **ideviceinstaller** (GPL-2.0-or-later), run to list the apps installed on the phone.

[THIRD_PARTY_NOTICES.md](https://github.com/RadishSoftware/mobster/blob/main/THIRD_PARTY_NOTICES.md) lists Mobster’s dependencies and their licenses.

## Contribute

Bug reports, device reports, fixes, docs and tests are welcome. The test suite needs no phone, simulator or key, and runs on macOS with Python 3.12 or later.

```
git clone https://github.com/RadishSoftware/mobster
cd mobster-cli
make venv
make test-backend
```

A few of the project’s rules for changes say a lot about it:

- **Behavior and docs change together.** A change to a command or flag updates the [CLI reference](https://docs.mobster.dev/cli) with it.
- **Safety code stays conservative.** Guards, approvals, the journal and the device lock fail closed. A change that makes Mobster act in more situations needs a test that shows where it now acts, and one that shows where it still refuses.
- **Speed claims are measured.** A change that claims to make Mobster faster says what was measured, on what, and before and after.
- **No private data.** No keys, journals, screenshots of personal screens, device UDIDs or team IDs in a commit.

Device reports from other phones and iOS versions are especially welcome: include the output of `mobster doctor` and what worked.

## Read the code, then try it

```
curl -fsSL https://mobster.dev/install.sh | sh
mobster --demo
```

The source is on [GitHub](https://github.com/RadishSoftware/mobster). When you want the setup done for you, Mobster for Mac is [$34.99 one time](https://mobster.dev/#pricing).

[Architecture](https://docs.mobster.dev/architecture) maps the code: one Python package, `mobile_agent`, that the terminal UI, `mobster serve` and the Mac app all share.

## Questions

- ### Is Mobster open source?
  Mobster CLI is, under the MIT license. It has the command line, the MCP server, the agent loop, mobster verify and the simulator manager. Mobster for Mac, the paid app built on it, is closed source.
- ### Is there a free version of Mobster?
  Mobster CLI is free and has the whole harness. Mobster for Mac costs $34.99 one time or $7.67 a month, and there's no trial, so the CLI is the way to try Mobster.
- ### Can I use Mobster CLI in a commercial project?
  Yes. The MIT license allows commercial use, changes and redistribution, as long as the copyright and license notice stay with the code.

## Sources

We read each of these on 8 October 2026. Reviewed by Andy Guo on 8 October 2026. Corrections are welcome at the [GitHub repo](https://github.com/RadishSoftware/mobster/issues).

- [Mobster CLI on GitHub](https://github.com/RadishSoftware/mobster)
- [Mobster CLI: LICENSE (MIT)](https://github.com/RadishSoftware/mobster/blob/main/LICENSE)
- [Mobster CLI: THIRD_PARTY_NOTICES.md](https://github.com/RadishSoftware/mobster/blob/main/THIRD_PARTY_NOTICES.md)
- [Mobster CLI: report a vulnerability privately](https://github.com/RadishSoftware/mobster/security)
- [Mobster docs: quickstart for Mobster CLI](https://docs.mobster.dev/quickstart/cli)
- [Mobster docs: CLI reference](https://docs.mobster.dev/cli)
- [Mobster docs: architecture](https://docs.mobster.dev/architecture)
- [choosealicense.com: the MIT License](https://choosealicense.com/licenses/mit/)
- [WebDriverAgent: LICENSE (BSD)](https://github.com/appium/WebDriverAgent/blob/master/LICENSE)
- [libimobiledevice on GitHub](https://github.com/libimobiledevice/libimobiledevice)
- [libusbmuxd on GitHub](https://github.com/libimobiledevice/libusbmuxd)
- [ideviceinstaller on GitHub](https://github.com/libimobiledevice/ideviceinstaller)
- [MCP specification: transports (stdio)](https://modelcontextprotocol.io/specification/2025-11-25/basic/transports)

## Try it on your own app

Mobster CLI is free and open source under MIT. One line installs it; then add it to your agent.

```
curl -fsSL https://mobster.dev/install.sh | sh
```

[Connect your agent](https://mobster.dev/integrations) [Developers](https://mobster.dev/developers) [Mobster for Mac](https://mobster.dev/#pricing)

## Related posts

- 7 October 2026 6 min read
  ### [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.
- 7 October 2026 7 min read
  ### [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.
- 7 October 2026 6 min read
  ### [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.
