iOS Simulator MCP

Integrations

  • Integrates with Facebook's IDB tool to communicate with and control iOS simulators, enabling the MCP server to perform UI automation tasks.

  • Provides tools for interacting with iOS simulators, including getting simulator information, controlling UI interactions (tapping, swiping, text input), and inspecting UI elements for accessibility testing and automation.

  • Enables operation on macOS systems where iOS simulators run, providing simulator access and control capabilities specific to the macOS environment.

iOS Simulator MCP Server

A Model Context Protocol (MCP) server for interacting with iOS simulators. This server allows you to interact with iOS simulators by getting information about them, controlling UI interactions, and inspecting UI elements.

https://github.com/user-attachments/assets/453ebe7b-cc93-4ac2-b08d-0f8ac8339ad3

Features

  • Get the ID of the currently booted iOS simulator
  • Interact with the simulator UI:
    • Describe all accessibility elements on screen
    • Tap on screen coordinates
    • Input text
    • Swipe between coordinates
    • Get information about UI elements at specific coordinates
    • Take screenshots of the simulator screen
  • Filter specific tools using environment variables

Configuration

Environment Variables

  • IOS_SIMULATOR_MCP_FILTERED_TOOLS: A comma-separated list of tool names to filter out from being registered. For example: screenshot,record_video,stop_recording

💡 Use Case: QA Step via MCP Tool Calls

This MCP server allows AI assistants integrated with a Model Context Protocol (MCP) client to perform Quality Assurance tasks by making tool calls. This is useful immediately after implementing features to help ensure UI consistency and correct behavior.

How to Use

After a feature implementation, instruct your AI assistant within its MCP client environment to use the available tools. For example, in Cursor's agent mode, you could use the prompts below to quickly validate and document UI interactions.

Example Prompts

  • Verify UI Elements:
    Verify all accessibility elements on the current screen
  • Confirm Text Input:
    Enter "QA Test" into the text input field and confirm the input is correct
  • Check Tap Response:
    Tap on coordinates x=250, y=400 and verify the expected element is triggered
  • Validate Swipe Action:
    Swipe from x=150, y=600 to x=150, y=100 and confirm correct behavior
  • Detailed Element Check:
    Describe the UI element at position x=300, y=350 to ensure proper labeling and functionality
  • Take Screenshot:
    Take a screenshot of the current simulator screen and save it to my_screenshot.png
  • Record Video:
    Start recording a video of the simulator screen (saves to ~/Downloads/simulator_recording_$DATE.mp4 by default)
  • Stop Recording:
    Stop the current simulator screen recording

Prerequisites

Installation

This section provides instructions for integrating the iOS Simulator MCP server with different Model Context Protocol (MCP) clients.

Installation with Cursor

Cursor manages MCP servers through its configuration file located at ~/.cursor/mcp.json.

  1. Edit your Cursor MCP configuration file. You can often open it directly from Cursor or use a command like:
    # Open with your default editor (or use 'code', 'vim', etc.) open ~/.cursor/mcp.json # Or use Cursor's command if available # cursor ~/.cursor/mcp.json
  2. Add or update the mcpServers section with the iOS simulator server configuration:
    { "mcpServers": { // ... other servers might be listed here ... "ios-simulator": { "command": "npx", "args": ["-y", "ios-simulator-mcp"] } } }
    Ensure the JSON structure is valid, especially if mcpServers already exists.
  3. Restart Cursor for the changes to take effect.
Option 2: Local Development
  1. Clone this repository:
    git clone https://github.com/joshuayoes/ios-simulator-mcp cd ios-simulator-mcp
  2. Install dependencies:
    npm install
  3. Build the project:
    npm run build
  4. Edit your Cursor MCP configuration file (as shown in Option 1).
  5. Add or update the mcpServers section, pointing to your local build:
    { "mcpServers": { // ... other servers might be listed here ... "ios-simulator": { "command": "node", "args": ["/full/path/to/your/ios-simulator-mcp/build/index.js"] } } }
    Important: Replace /full/path/to/your/ with the absolute path to where you cloned the ios-simulator-mcp repository.
  6. Restart Cursor for the changes to take effect.

Installation with Claude Code

Claude Code CLI can manage MCP servers using the claude mcp commands or by editing its configuration files directly. For more details on Claude Code MCP configuration, refer to the official documentation.

  1. Add the server using the claude mcp add command:
    claude mcp add ios-simulator --command npx --args "-y,ios-simulator-mcp"
    Note: The --args parameter takes a single comma-separated string.
  2. Restart any running Claude Code sessions if necessary.
Option 2: Local Development
  1. Clone this repository, install dependencies, and build the project as described in the Cursor "Local Development" steps 1-3.
  2. Add the server using the claude mcp add command, pointing to your local build:
    claude mcp add ios-simulator --command node --args "/full/path/to/your/ios-simulator-mcp/build/index.js"
    Important: Replace /full/path/to/your/ with the absolute path to where you cloned the ios-simulator-mcp repository.
  3. Restart any running Claude Code sessions if necessary.

License

MIT

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables interaction with iOS simulators by providing tools to inspect UI elements, control UI interactions, and manage simulators through natural language commands.

  1. Features
    1. Configuration
      1. Environment Variables
    2. 💡 Use Case: QA Step via MCP Tool Calls
      1. How to Use
      2. Example Prompts
    3. Prerequisites
      1. Installation
        1. Installation with Cursor
        2. Installation with Claude Code
      2. License

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          Integration between Model Context Protocol (MCP) and Facebook's iOS Development Bridge (idb), enabling automated iOS device management and test execution through natural language.
          Last updated -
          1
          8
          3
          JavaScript
          MIT License
          • Apple
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that enables AI assistants to build and test Xcode projects directly through a standardized interface, with capabilities for running tests, monitoring progress, and accessing logs in real-time.
          Last updated -
          29
          TypeScript
        • -
          security
          F
          license
          -
          quality
          A bridge between iOS simulators and the Model Context Protocol, enabling programmatic control of iOS simulators through standardized communication interfaces.
          Last updated -
          12
          TypeScript
          • Apple

        View all related MCP servers

        ID: 3478yhfp24