Ios MCP Server

MCP server for interacting with the iOS simulator

Local serverstdioTypeScript

What is the Ios MCP server?

Connect Ios to Claude, Cursor or any other MCP client and it stops being a tab you switch to. MCP server for interacting with the iOS simulator. The ios mcp server is what makes that connection.

What the server does

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.

Installation

The server ships on npm as ios-simulator-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • get_booted_sim_id — The get_booted_sim_id tool exposed by this server
  • open_simulator — The open_simulator tool exposed by this server
  • ui_describe_all — The ui_describe_all tool exposed by this server
  • ui_tap — The ui_tap tool exposed by this server
  • ui_type — The ui_type tool exposed by this server
  • ui_swipe — The ui_swipe tool exposed by this server
  • ui_describe_point — The ui_describe_point tool exposed by this server
  • ui_find_element — The ui_find_element tool exposed by this server
  • ui_view — The ui_view tool exposed by this server
  • screenshot — The screenshot tool exposed by this server
  • record_video — The record_video tool exposed by this server
  • stop_recording — The stop_recording tool exposed by this server

Credentials and setup notes

Configuration is passed through the environment: IOS_SIMULATOR_MCP_FILTERED_TOOLS, IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR, IOS_SIMULATOR_MCP_IDB_PATH. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Node.js - macOS (as iOS simulators are only available on macOS) - Xcode and iOS simulators installed - Facebook IDB tool (see install guide)

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Ios.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Where it fits

Plenty of browser automation servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Ios's toolset — get_booted_sim_id, open_simulator, ui_describe_all and 11 more — is a fair guide to whether it matches your workflow. It is maintained by GitHub Actions; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
get_booted_sim_idThe get_booted_sim_id tool exposed by this server.
open_simulatorThe open_simulator tool exposed by this server.
ui_describe_allThe ui_describe_all tool exposed by this server.
ui_tapThe ui_tap tool exposed by this server.
ui_typeThe ui_type tool exposed by this server.
ui_swipeThe ui_swipe tool exposed by this server.
ui_describe_pointThe ui_describe_point tool exposed by this server.
ui_find_elementThe ui_find_element tool exposed by this server.
ui_viewThe ui_view tool exposed by this server.
screenshotThe screenshot tool exposed by this server.
record_videoThe record_video tool exposed by this server.
stop_recordingThe stop_recording tool exposed by this server.
install_appThe install_app tool exposed by this server.
launch_appThe launch_app tool exposed by this server.

How to install the Ios MCP server

{
  "mcpServers": {
    "ios-simulator": {
      "command": "npx",
      "args": ["-y", "ios-simulator-mcp"],
      "env": {
        "IOS_SIMULATOR_MCP_FILTERED_TOOLS": "screenshot,record_video,stop_recording",
        "IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR": "~/Code/awesome-project/tmp",
        "IOS_SIMULATOR_MCP_IDB_PATH": "~/bin/idb"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Node.js - macOS (as iOS simulators are only available on macOS) - Xcode and iOS simulators installed - Facebook IDB tool (see install guide)
VariableDescriptionRequired
IOS_SIMULATOR_MCP_FILTERED_TOOLSConfiguration value read at startup.Optional
IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIRFilesystem location the server is allowed to use.Optional
IOS_SIMULATOR_MCP_IDB_PATHFilesystem location the server is allowed to use.Optional

Example prompts to try

  • Use Ios to get booted sim id.
  • Use Ios to open simulator.
  • Use Ios to ui describe all.

Frequently asked questions

It connects Ios to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (get_booted_sim_id, open_simulator, ui_describe_all, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Ios directly.