# manzanas [Verified] [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/BariBariGood/manzanas  
**GitHub Stars:** 21  
**Views:** 6  
**Installs:** 0  
**Upvotes:** 2  
**Directory Page:** https://allmcps.com/mcp/manzanas

## Description
Drive iOS simulators from Claude Code, Cursor or Codex by accessibility label instead of screenshot-and-tap-coordinates. Exposes ui_tree, tap_element, type_into_element, wait_for_element and scroll_to_element, and every action reports whether the UI actually changed. A Mac daemon underneath hands out simulators as TTL leases with a queue and keeps a SIGSTOP warm pool, so a lease gets a live simulator in about 0.28s instead of a 7s cold boot, and multiple agents can share one Mac without colliding. Open source, MIT.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "manzanas": {
    "command": "npx",
    "args": ["-y","manzanasd-client@latest"]
  }
}
```

## Documentation

## What the manzanas MCP server does

The manzanas MCP server connects MCP-capable agents to iOS simulators. Agents can inspect the accessibility UI tree, locate elements by label or identifier, tap controls, enter text, wait for elements, and scroll to elements. These operations are intended for simulator interaction without relying on screenshot coordinates.

The MCP facade is provided by the `manzanas mcp` command and communicates with the host daemon. The daemon owns simulator registration, leases, action backends, streaming, state, and the run journal. A session automatically releases its leases when it ends, and tool errors describe their own context.

## How it works

A Mac host runs `manzanasd`, which discovers available simulators and assigns them through TTL-based exclusive leases. FIFO queues handle contention, so multiple agents can share a host without driving the same simulator at the same time. Idle simulators can remain parked and resume when a lease is granted; the README reports approximately 0.28 seconds from lease to a live simulator in the measured setup, compared with roughly 7 seconds for a cold boot.

Clients are thin and communicate with the daemon using a versioned JSON protocol over HTTP and WebSocket. The MCP process itself uses stdio for the agent connection. `MANZANASD_ADDR` can point the client at a daemon host and port, such as `mac-host:7433`; a local daemon uses its default configuration without flags.

Each mutating operation under a lease is journaled. Runs can produce artifacts and an exportable Markdown evidence file, and actions report whether the UI actually changed. The repository also documents a mock mode that supplies a fake fleet and action backend for environments without a Mac or Xcode.

## Setup and configuration

For a Mac with Xcode, the documented setup installs `manzanasd` through the project’s Homebrew tap, starts it as a service, and runs `manzanas doctor` to diagnose the host. The daemon enumerates simulators from `simctl`. Physical iPhones, iPhone Mirroring, and multi-Mac brokering are optional documented chapters rather than prerequisites for simulator use.

The README also provides an npm wrapper. Running `npx manzanasd-client@latest doctor` downloads the platform release and performs setup diagnosis. After the client and daemon are available, configure an MCP client to launch `manzanas mcp` and, when needed, set `MANZANASD_ADDR` to the daemon address.

## Tools and capabilities

The manzanas MCP server exposes the core UI actions named in the project description:

- `ui_tree` for inspecting the current accessibility hierarchy.
- `tap_element` for activating an element by accessibility information.
- `type_into_element` for entering text into a selected element.
- `wait_for_element` for waiting until an element appears.
- `scroll_to_element` for bringing an element into view.

The wider daemon and CLI support leases, simulator targets, screenshots and streaming, snapshots, fixtures, auto-reset, recordings, and journal exports. YAML runs can combine leasing, booting, application steps, evidence collection, and release into one declarative execution. The README also lists optional verification, audit, template, and physical-device features, but these are broader product capabilities rather than additional MCP tools explicitly enumerated in the supplied description.

## Limitations and notes

Real simulator operation requires a Mac host with Xcode and a running daemon. The mock mode is available for development or non-Mac environments, but it uses a fake fleet and mock action backend. Accessibility-based actions depend on elements being discoverable through the simulator’s accessibility interface; the material does not claim that every app or control is supported. Physical iPhone support and iPhone Mirroring require their separately documented setup paths.

_Full upstream README: https://allmcps.com/mcp/manzanas/readme_

