Back to MCP Catalog

iOS Simulator Control MCP Server

Developer ToolsTypeScript
Programmatically control iOS simulators through a standardized interface
Available Tools

listSimulators

Lists all available iOS simulators on the system

bootSimulator

Boots an iOS simulator by its identifier

shutdownSimulator

Shuts down a running iOS simulator

installApp

Installs an .app bundle on a simulator

launchApp

Launches an installed app on a simulator by bundle ID

The iOS Simulator Control MCP provides a powerful interface for programmatically managing and interacting with iOS simulators. It implements the Model Context Protocol specification to expose simulator functionality in a standardized way, allowing AI assistants to help with iOS development tasks. With this MCP, you can list available simulators, boot and shut them down, install application bundles, and launch apps by their bundle ID. This makes it an invaluable tool for iOS developers who want to automate simulator interactions or get assistance with simulator-related tasks.

Overview

The iOS Simulator Control MCP allows you to programmatically interact with iOS simulators on your macOS system. This tool bridges the gap between AI assistants and the iOS development environment by providing a standardized interface to control simulator operations.

Installation

To use the iOS Simulator Control MCP with Claude or other compatible AI assistants, you need to add the appropriate configuration to your Claude Config JSON file:

{
  "mcpServers": {
    "simulator": {
      "command": "npx",
      "args": [
        "y",
        "@joshuarileydev/simulator-mcp-server"
      ]
    }
  }
}

This configuration tells the AI assistant to use the npx package runner to execute the simulator MCP server.

Prerequisites

  • macOS operating system
  • Xcode with iOS simulators installed
  • Node.js and npm installed on your system

Usage

Once installed, the MCP server provides several capabilities for interacting with iOS simulators:

Listing Simulators

You can request a list of all available iOS simulators on your system. This will return information about each simulator, including its name, identifier, and current state.

Managing Simulator State

The MCP allows you to:

  • Boot a simulator by its identifier
  • Shut down a running simulator
  • Check the current state of a simulator

Application Management

You can:

  • Install .app bundles onto a simulator
  • Launch installed applications by their bundle ID
  • Terminate running applications

Limitations

  • This MCP only works on macOS systems with Xcode installed
  • Some operations may require the simulator to be in a specific state (e.g., booted)
  • Performance depends on your system resources, as simulator operations can be resource-intensive

Troubleshooting

If you encounter issues:

  1. Ensure Xcode and the iOS simulators are properly installed
  2. Verify that the simulator identifiers you're using are correct
  3. Check that you have sufficient permissions to execute simulator commands
  4. Make sure the simulator is in the appropriate state for the operation you're attempting

Related MCPs

Apple Shortcuts
Developer ToolsJavaScript

Control Apple Shortcuts automations from AI assistants

Clojars Dependency Lookup
Developer ToolsJavaScript

Fetch dependency information from Clojars, the Clojure community's artifact repository

Simple Timeserver
Developer ToolsPython

Provides Claude with current time and timezone information

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.