Skip to content

Configuration ​

The server works with no configuration. These optional settings are given as environment variables.

VariableDefaultDescription
IOS_SIMULATOR_MCP_XCRUN_PATHxcrunThe xcrun executable.
IOS_SIMULATOR_MCP_IDB_PATHidbThe idb executable, used by the ui_* tools.
IOS_SIMULATOR_MCP_UI_BACKENDautoHow the interface is driven: companion (a direct connection to idb_companion, the fastest), cli (the idb command line client) or auto (prefers companion and falls back to cli when it cannot be started).
IOS_SIMULATOR_MCP_IDB_COMPANION_PATHidb_companionThe idb_companion executable.
IOS_SIMULATOR_MCP_OUTPUT_DIR$TMPDIR/ios-simulator-mcpFolder where recordings are saved when no path is given.
IOS_SIMULATOR_MCP_DEVICE_CACHE_MS10000Milliseconds the list of simulators is reused between calls. 0 disables the cache. See Working fast.

Claude Code ​

bash
claude mcp add ios-simulator \
  -e IOS_SIMULATOR_MCP_IDB_PATH="$(which idb)" \
  -e IOS_SIMULATOR_MCP_OUTPUT_DIR="$HOME/Desktop/sim" \
  -- node "$(pwd)/dist/index.js"

Claude Desktop and other clients ​

json
{
  "mcpServers": {
    "ios-simulator": {
      "command": "node",
      "args": ["/absolute/path/to/ios-simulator-mcp/dist/index.js"],
      "env": {
        "IOS_SIMULATOR_MCP_IDB_PATH": "/Users/you/.local/bin/idb",
        "IOS_SIMULATOR_MCP_OUTPUT_DIR": "/Users/you/Desktop/sim"
      }
    }
  }
}

Released under the MIT License.