# iOS Simulator MCP server

> Inspect the UI, tap, type, swipe, take screenshots and record video in the iOS Simulator from your assistant.

- Listing: https://mcp.tc/i/ios-simulator
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Developer Tools](https://mcp.tc/c/developer-tools)
- Vendor: Joshua Yoes
- Repository: <https://github.com/joshuayoes/ios-simulator-mcp>
- Package: npm `ios-simulator-mcp`

## About

Controls iOS simulators on a Mac. The assistant can read the accessibility tree, find elements, tap, type and swipe, capture screenshots, record video and install app bundles. This helps with testing and iterating on mobile app UI.

Runs locally over stdio with npx -y ios-simulator-mcp. No sign-in or API key is needed. It requires macOS, Node.js 20 or later, Xcode with iOS simulators and Facebook IDB. Screenshots and recordings save to ~/Downloads unless IOS\_SIMULATOR\_MCP\_DEFAULT\_OUTPUT\_DIR is set.

## What it can do

- Get the booted simulator ID and open the Simulator app
- Describe the accessibility tree of the whole screen or a point
- Find UI elements by label or identifier
- Tap, type text and swipe on the screen
- Take screenshots and view the current screen
- Record and stop video of the simulator
- Install .app or .ipa bundles on the simulator

## Example prompts

- "Open the iOS Simulator and take a screenshot of the current screen."
- "Find the Login button in the simulator and tap it."
- "Type my test email into the focused field and swipe up."
- "Record a video of the simulator while I walk through onboarding."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio ios-simulator -- npx -y ios-simulator-mcp
```

2. Start Claude Code and type `/mcp`. **ios-simulator** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "ios-simulator": {
      "command": "npx",
      "args": [
        "-y",
        "ios-simulator-mcp"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs Node.js on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=ios-simulator&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImlvcy1zaW11bGF0b3ItbWNwIl19>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "ios-simulator": {
      "command": "npx",
      "args": [
        "-y",
        "ios-simulator-mcp"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=ios-simulator&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22ios-simulator-mcp%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"ios-simulator","type":"stdio","command":"npx","args":["-y","ios-simulator-mcp"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "ios-simulator": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "ios-simulator-mcp"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "ios-simulator": {
      "command": "npx",
      "args": [
        "-y",
        "ios-simulator-mcp"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add ios-simulator -- npx -y ios-simulator-mcp
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.ios-simulator]
command = "npx"
args = ["-y", "ios-simulator-mcp"]
```

Needs Node.js on your computer.

### Gemini CLI

```bash
gemini mcp add ios-simulator npx -- -y ios-simulator-mcp
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "ios-simulator": {
      "command": "npx",
      "args": [
        "-y",
        "ios-simulator-mcp"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs Node.js on your computer.

## Details

- Server version: 2.1.0
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/ios-simulator (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
