Data as of

iOS Simulator MCP Server for Claude Desktop: Setup & Config

Claude Desktop: Let an MCP assistant inspect and operate an iOS simulator on macOS.

What you can do with iOS Simulator in Claude Desktop

Choose it for assistant-led simulator QA using accessibility data, gestures, and visual captures.

  • Check accessibility labels after an interface change.
  • Exercise tap, typing, and swipe flows in an app.

Before you start: iOS Simulator in Claude Desktop

  • Node.js
  • macOS
  • Xcode and installed iOS simulators
  • Facebook IDB

Use release 1.3.3 or later according to the README security notice. The default capture directory is ~/Downloads when no output directory is configured.

iOS Simulator Claude Desktop configuration

  1. Choose Claude Desktop configuration scope

    For iOS Simulator MCP Server, open macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json. Merge under mcpServers via Settings → Developer → Edit Config when available.

  2. Add iOS Simulator MCP Server to Claude Desktop

    Use the ios-simulator-mcp entry below in mcpServers. Keep iOS Simulator MCP Server's documented stdio connection fields and your other Claude Desktop entries.

  3. Check iOS Simulator MCP Server in Claude Desktop

    iOS Simulator MCP Server: Fully quit and reopen Claude Desktop; check developer diagnostics.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

JSON
{
  "mcpServers": {
    "ios-simulator-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ios-simulator-mcp"
      ],
      "env": {
        "IDB_UDID": "<optional target simulator UUID>",
        "IOS_SIMULATOR_MCP_FILTERED_TOOLS": "<optional comma-separated tool names to exclude>",
        "IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR": "<optional directory for screenshots and recordings>"
      }
    }
  }
}

iOS Simulator tools available to Claude Desktop

iOS Simulator's stored tool list documents 17 tools; compare it with Claude Desktop's connected tool list, because the stored list is not a live check.

get_booted_sim_id

When Claude Desktop requests get_booted_sim_id from iOS Simulator, review the action before approving it.

Identify the simulator that is currently running.

open_simulator

When Claude Desktop requests open_simulator from iOS Simulator, review the action before approving it.

Start the Simulator application.

ui_describe_all

When Claude Desktop requests ui_describe_all from iOS Simulator, review the action before approving it.

Read accessibility details for the visible simulator screen.

ui_tap

When Claude Desktop requests ui_tap from iOS Simulator, review the action before approving it.

Send a touch at specified screen coordinates.

ui_type

When Claude Desktop requests ui_type from iOS Simulator, review the action before approving it.

Enter printable ASCII text into the simulator.

ui_swipe

When Claude Desktop requests ui_swipe from iOS Simulator, review the action before approving it.

Perform a swipe between two screen positions.

ui_describe_point

When Claude Desktop requests ui_describe_point from iOS Simulator, review the action before approving it.

Inspect the accessibility element at a screen position.

ui_find_element

When Claude Desktop requests ui_find_element from iOS Simulator, review the action before approving it.

Find accessibility elements matching labels, identifiers, or type filters.

ui_view

When Claude Desktop requests ui_view from iOS Simulator, review the action before approving it.

Return a compressed image of the current simulator display.

screenshot

When Claude Desktop requests screenshot from iOS Simulator, review the action before approving it.

record_video

When Claude Desktop requests record_video from iOS Simulator, review the action before approving it.

stop_recording

When Claude Desktop requests stop_recording from iOS Simulator, review the action before approving it.

install_app

When Claude Desktop requests install_app from iOS Simulator, review the action before approving it.

launch_app

When Claude Desktop requests launch_app from iOS Simulator, review the action before approving it.

terminate_app

When Claude Desktop requests terminate_app from iOS Simulator, review the action before approving it.

open_url

When Claude Desktop requests open_url from iOS Simulator, review the action before approving it.

list_apps

When Claude Desktop requests list_apps from iOS Simulator, review the action before approving it.

iOS Simulator: full stored tool descriptions

Troubleshooting iOS Simulator in Claude Desktop

  • Fully quit and reopen Claude Desktop for iOS Simulator MCP Server. If npx ios-simulator-mcp (Node.js/npm) is missing, check the desktop process's PATH, which may differ from your terminal.
  • In Claude Desktop's iOS Simulator MCP Server entry, check IDB_UDID, IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR, IOS_SIMULATOR_MCP_FILTERED_TOOLS. Keep secrets out of shared screenshots and repositories.
  • iOS Simulator MCP Server uses stdio here: Claude Desktop must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires macOS, Xcode simulators, and IDB.
  • Known limitation: The typing tool accepts printable ASCII only.
  • Known limitation: Versions before 1.3.3 have a documented command injection issue.
  • General Claude Desktop troubleshooting lives in the /clients/claude-desktop guide.

iOS Simulator MCP Server — details. Claude Desktop guide

Frequently asked questions

Claude Desktop loads iOS Simulator MCP Server from claude_desktop_config.json: ~/Library/Application Support/Claude/ on macOS, or %APPDATA%\Claude\ on Windows. Open it via Settings → Developer → Edit Config when available.

Claude Desktop's ios-simulator-mcp example uses stdio.

iOS Simulator MCP Server's Claude Desktop configuration invokes npx ios-simulator-mcp (Node.js/npm).

Claude Desktop's iOS Simulator MCP Server example references IDB_UDID, IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR, IOS_SIMULATOR_MCP_FILTERED_TOOLS. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.

iOS Simulator MCP Server's stored list contains 17 tools, including get_booted_sim_id, open_simulator, ui_describe_all. Compare those names with Claude Desktop's connected tool list; the stored list is not a live check.

The documented setup requires macOS because it operates Apple's iOS simulators.

Yes. ui_find_element searches accessibility labels or unique identifiers and supports additional matching filters.