MCP.so
Sign In

iOS Simulator MCP Server

@joshuayoes

About iOS Simulator MCP Server

MCP server for interacting with the iOS simulator

Config

Add this server to your MCP-compatible client using the configuration below.

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

Tools

17

Get the ID of the currently booted iOS simulator

Opens the iOS Simulator application

Describes accessibility information for the entire screen in the iOS Simulator

Tap on the screen in the iOS Simulator

Input text into the iOS Simulator

Swipe on the screen in the iOS Simulator

Returns the accessibility element at given co-ordinates on the iOS Simulator's screen

Searches the accessibility tree and returns elements matching the given criteria

Get the image content of a compressed screenshot of the current simulator view

Takes a screenshot of the iOS Simulator

Records a video of the iOS Simulator using simctl directly

Stops the simulator video recording using killall

Installs an app bundle (.app or .ipa) on the iOS Simulator

Launches an app on the iOS Simulator by bundle identifier

Terminates a running app on the iOS Simulator by bundle identifier

Opens a URL in the iOS Simulator, useful for testing deep links and universal links

Lists all installed apps on the iOS Simulator with their bundle identifiers and display names

Overview

What is iOS Simulator MCP Server?

A Model Context Protocol (MCP) server for interacting with iOS simulators. It allows AI assistants to get information about simulators, control UI interactions, and inspect UI elements, enabling automated quality assurance tasks.

How to use iOS Simulator MCP Server?

Install via npx -y ios-simulator-mcp and configure in your MCP client (e.g., Cursor’s ~/.cursor/mcp.json). Prerequisites: Node.js, macOS, Xcode, iOS simulators, and Facebook IDB. Then instruct your AI assistant to call tools like ui_tap, screenshot, or launch_app to interact with the simulator.

Key features of iOS Simulator MCP Server

  • Retrieve booted simulator ID and open the Simulator app
  • Describe entire screen or specific point accessibility elements
  • Perform taps, text input, swipes, and find UI elements
  • Take screenshots and record videos with configurable codecs
  • Install and launch apps on the simulator
  • Stop video recordings

Use cases of iOS Simulator MCP Server

  • AI-assisted UI verification after feature implementation
  • Automated tap and input testing on iOS simulators
  • Taking screenshots or recording video for documentation
  • Installing and launching app bundles for integration testing
  • Inspecting accessibility elements to ensure proper labeling

FAQ from iOS Simulator MCP Server

What are the prerequisites to run this server?

You need Node.js, macOS (iOS simulators are macOS-only), Xcode with iOS simulators installed, and Facebook’s IDB tool.

How do I install the server?

Run npx -y ios-simulator-mcp or build from source. For Cursor, add a configuration entry in ~/.cursor/mcp.json.

How can I target a specific simulator?

Use the optional udid parameter in tool calls, or set the IDB_UDID environment variable. UDID must be a UUID in 8-4-4-4-12 format.

Where are screenshots and videos saved?

By default to ~/Downloads. You can change the directory by setting the IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR environment variable.

Is there a security notice I should be aware of?

Versions before 1.3.3 had command injection vulnerabilities. Update to v1.3.3 or later.

Frequently asked questions

What are the prerequisites to run this server?

You need Node.js, macOS (iOS simulators are macOS-only), Xcode with iOS simulators installed, and Facebook’s IDB tool.

How do I install the server?

Run `npx -y ios-simulator-mcp` or build from source. For Cursor, add a configuration entry in `~/.cursor/mcp.json`.

How can I target a specific simulator?

Use the optional `udid` parameter in tool calls, or set the `IDB_UDID` environment variable. UDID must be a UUID in 8-4-4-4-12 format.

Where are screenshots and videos saved?

By default to `~/Downloads`. You can change the directory by setting the `IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR` environment variable.

Is there a security notice I should be aware of?

Versions before 1.3.3 had command injection vulnerabilities. Update to v1.3.3 or later.

Comments

More Other MCP servers