Ios Simulator MCP logo

Ios Simulator MCP

Control, inspect, test, and capture iOS Simulator sessions through MCP tools.

Install Ios Simulator MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ios-simulator-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ios-simulator-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 17 tools correctly (24d ago).

Overview

The ios-simulator-mcp MCP server connects AI agents to iOS Simulator for app installation, launching, UI interaction, accessibility inspection, screenshots, and video recording. It exposes MCP tools that target a booted simulator by UDID or use the currently booted device. Reach for it when an agent needs to exercise an iOS app, inspect its visible interface, test deep links, or collect visual output.

Use cases

  • Automate iOS app UI flows
  • Inspect accessibility elements on simulator screens
  • Install and launch app builds
  • Test deep links and OAuth redirects
  • Capture screenshots and simulator videos

Key features

  • Coordinate-based taps, typing, and swipes
  • Accessibility tree inspection and element search
  • App installation and lifecycle control
  • Deep-link and URL opening
  • Screenshot and video capture
  • Booted simulator discovery

Tools17

What Ios Simulator MCP lets your agent do. Expand a tool for its parameters.

Verified live~2.3k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

29/29 checks healthy over the last 77d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 1Low 0

Scanned 8d ago via OSV.dev · ios-simulator-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2.2kStargazers on the source repository.
npm downloads20kPackage downloads in the last 30 days.
Last commit2d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed17Callable tools this server registers over MCP.
Directory activity7 viewsConfig copies, upvotes, and views on AllMCPs.

How Ios Simulator MCP works

What ios-simulator-mcp does

The ios-simulator-mcp MCP server gives an MCP client tools for operating an iOS Simulator. It can open the Simulator application, identify the currently booted device, install .app or .ipa bundles, launch or terminate apps by bundle identifier, and list installed apps with their identifiers and display names.

For UI automation, it supports coordinate-based taps, text entry, and swipes. It can also inspect the accessibility hierarchy for the full screen, return the element at a coordinate, or search for elements by accessibility label or unique ID. These capabilities make it suitable for checking both visible behavior and accessibility metadata during development or testing.

The server belongs in the OS Automation category. It also handles URLs and deep links, including HTTPS links, custom schemes, and universal links, which can be used to exercise routing and OAuth redirect flows.

How it works

MCP clients call the server’s tools with parameters such as a simulator UDID, screen coordinates, bundle identifier, app path, or output path. Most simulator-facing tools accept an optional udid; when it is omitted, the client can first call get_booted_sim_id to identify the active simulator. The target UDID can also be supplied through the IDB_UDID environment variable for the UI-related operations that support it.

UI descriptions and element searches use the simulator’s accessibility information. Coordinate actions use x and y values, while swipes can specify start and end coordinates, duration, and step size. App launches can optionally terminate an already-running process and pass environment variables to the launched app through simctl’s SIMCTL_CHILD_ mechanism.

The ios-simulator-mcp MCP server uses simulator controls for screenshots and recordings. ui_view returns compressed image content for the current view, while screenshot saves an image in a selected format. record_video writes a simulator recording, and stop_recording ends it.

Setup and configuration

The repository publishes an npm package named ios-simulator-mcp. The Cursor installation configuration shown by the project runs it with npx -y ios-simulator-mcp, so an MCP client must be configured to start that stdio command.

Screenshot and video tools accept explicit output paths. If a path is omitted for video, or if a screenshot path is relative, output uses the directory named by IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR; when that variable is unset, the fallback directory is ~/Downloads.

Use version 1.3.3 or later. The project notes that command-injection vulnerabilities in versions before 1.3.3 were fixed in that release.

Tools and capabilities

  • Discover and open simulators with get_booted_sim_id and open_simulator.
  • Inspect accessibility data with ui_describe_all, ui_describe_point, and ui_find_element.
  • Interact with the screen using ui_tap, ui_type, and ui_swipe.
  • Capture views with ui_view, screenshot, record_video, and stop_recording.
  • Install, launch, terminate, and enumerate apps with install_app, launch_app, terminate_app, and list_apps.
  • Open HTTPS URLs, custom schemes, and universal links with open_url.

Limitations and notes

The supplied tool definitions identify iOS Simulator as the target; they do not describe control of physical iOS devices. Text input is limited to printable ASCII characters. Coordinate-based actions depend on the simulator’s screen layout and display selection.

The server relies on simulator and simctl behavior, including the availability of a booted target for operations that require one. Video recording uses killall when stopped. App launch environment variables are passed using SIMCTL_CHILD_ because support for direct --env or --envs options varies across Xcode versions.

Screenshot and recording options include internal or external displays and mask handling for non-rectangular displays.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Ios Simulator MCP

ios-simulator-mcp is an MCP server that connects AI clients to Apple iOS simulators through tools for simulator discovery, UI taps, typing, swipes, accessibility inspection, app installation and lifecycle control, URL opening, screenshots, and video recording. It targets simulator instances by UDID or the currently booted device.

Run the server through the npm package with `npx -y ios-simulator-mcp`. The repository’s Cursor install configuration uses that stdio command.

Yes, the repository provides a Cursor installation link and configuration for `ios-simulator-mcp`. It starts the package with `npx -y ios-simulator-mcp`.

Call `launch_app` with the app’s bundle identifier and optionally its simulator UDID. You can request termination before launch and pass application environment variables. Use `list_apps` to find installed bundle identifiers.

Yes, call `open_url` with an HTTPS URL, custom URL scheme, or universal link. The tool is intended for testing deep-link routing and OAuth redirect flows in the iOS Simulator.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewIos Simulator MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ios-simulator-mcp?style=directory)](https://allmcps.com/mcp/ios-simulator-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/ios-simulator-mcp"><img src="https://allmcps.com/api/badge/ios-simulator-mcp?style=directory" alt="Ios Simulator MCP on AllMCPs" /></a>