Metadata-Version: 2.4
Name: mobster-cli
Version: 0.4.3
Summary: MCP server and CLI that lets Claude Code, Cursor and Codex drive a real iPhone or iOS simulator: read the screen, tap, type, and get pass/fail verdicts from accessibility assertions
Author: Radish Retail, LLC
License-Expression: MIT
Project-URL: Homepage, https://mobster.dev
Project-URL: Repository, https://github.com/RadishSoftware/mobster
Project-URL: Documentation, https://docs.mobster.dev
Project-URL: Changelog, https://docs.mobster.dev/changelog
Project-URL: Issues, https://github.com/RadishSoftware/mobster/issues
Keywords: ios,iphone,agent,accessibility,webdriveragent,automation,mcp,mcp-server,model-context-protocol,ios-simulator,ios-testing,e2e-testing,ui-testing,claude-code
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Environment :: Console :: Curses
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: MacOS
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Testing :: Acceptance
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jsonschema<5,>=4.23
Requires-Dist: referencing>=0.35
Requires-Dist: croniter<7,>=6
Requires-Dist: Pillow<14,>=11
Requires-Dist: PyYAML<7,>=6.0.2
Requires-Dist: textual<9,>=8
Requires-Dist: rich>=13.3.3
Requires-Dist: textual-image<0.15,>=0.14
Requires-Dist: cryptography<51,>=46
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Dynamic: license-file

# Mobster

MCP server and CLI that lets Claude Code, Cursor and Codex drive a real iPhone or iOS simulator — read the screen, tap, type, and get pass/fail verdicts from accessibility assertions.

Mobster connects your coding agent to the app you are building. Run saved checks, inspect failures and keep the verdict tied to the accessibility tree. The shared runtime powers the command line and Mobster for Mac; this repository owns the CLI, MCP server, simulator tools and verification engine.

On macOS, with Python 3.12 or later:

```sh
python3.12 -m pip install mobster-cli
```

Running a device requires macOS and Xcode. The Python package runs independently of Mobster for Mac. With [uv](https://docs.astral.sh/uv/getting-started/installation/) installed, `npx @radishsoftware/mobster mcp` runs the same CLI through the npm launcher. Tests use synthetic fixtures.

| Workflow | Mobster CLI | Mobster for Mac | XCTest |
| --- | --- | --- | --- |
| Claude Code, Cursor or Codex controls a device through MCP | `mobster mcp` | Agent integration in the app | Requires an adapter |
| Inspect the screen, tap and type | CLI and MCP tools | Live view and agent tasks | Test code |
| Accessibility assertions with pass/fail reports | `mobster verify`, `mobster test` | Shared verification runtime | XCTest assertions |
| Desktop workspace and team features | Separate app extensions | Included with the app | Xcode workspace |

## Connect your agent

```sh
mobster mcp --help
mobster mcp install --help
mobster sim --help
mobster verify --help
```

Follow the [agent setup guide](https://docs.mobster.dev/agents/setup) and [testing guide](https://docs.mobster.dev/testing).

## Terminal screenshots

These are scripted demo sessions, not captures of a personal phone.

![A completed scripted task](https://raw.githubusercontent.com/RadishSoftware/mobster/cli-v0.4.3/docs/images/tui-finished.png)

![Scripted task history](https://raw.githubusercontent.com/RadishSoftware/mobster/cli-v0.4.3/docs/images/tui-history.png)

## Develop

From this source checkout:

```sh
make venv
make test-backend
```

Read [CONTRIBUTING.md](https://github.com/RadishSoftware/mobster/blob/cli-v0.4.3/CONTRIBUTING.md). Training, model weights, datasets and experiment outputs are maintained separately from the product runtime.

<!-- mcp-name: dev.mobster/mobster -->
