← Back to directory
I

iOS Simulator MCP Server

Community
Interact with and inspect iOS simulators through MCP.
GitHub source repository ↗
★ 2.1k Stars Category · Dev Tools Very popular
56FMRS · C
Reliability
8/20
Security and permissions
10/20
Maintenance
10/20
Documentation
15/20
Setup experience
13/20

The source describes a server focused on iOS Simulator interaction on macOS, including UI automation, accessibility inspection, screenshots, video recording, and app installation and launch. The README provides stdio configuration examples for Cursor and Claude Code. Topics, a server manifest, authentication, and other transport methods are not provided.

Read the FMRS scoring method →

iOS Simulator MCP Server is an MCP server for interacting with iOS simulators. It supports simulator information, UI control, accessibility inspection, screen viewing and capture, video recording, and app installation and launch. The server path is the repository root, and the license is MIT.

Tools

get_booted_sim_id
Gets the ID of the currently booted iOS simulator.
open_simulator
Opens the iOS Simulator application.
ui_describe_all
Describes accessibility information for the entire iOS Simulator screen.
ui_tap
Taps a specified coordinate on the iOS Simulator screen.
ui_type
Inputs text into the iOS Simulator.
ui_swipe
Performs a swipe on the iOS Simulator screen.
ui_describe_point
Returns the accessibility element at a specified screen coordinate.
ui_find_element
Searches the accessibility tree for elements matching specified criteria.
ui_view
Gets compressed screenshot image content of the current simulator view.
screenshot
Captures the iOS Simulator screen and saves it to a specified path.
record_video
Records an iOS Simulator video using simctl.
stop_recording
Stops the current simulator video recording.
install_app
Installs an .app or .ipa application on the iOS Simulator.
launch_app
Launches an application on the iOS Simulator by bundle identifier.

Setup

Prerequisites are Node.js, macOS, Xcode with iOS simulators installed, and Facebook IDB. For npx installation, add the provided mcpServers configuration to Cursor's ~/.cursor/mcp.json and restart Cursor, or run claude mcp add ios-simulator npx ios-simulator-mcp. For local development, clone the repository, run npm install and npm run build, then configure the local build/index.js path.

claude_desktop_config.json
{"mcpServers":{"ios-simulator":{"command":"npx","args":["-y","ios-simulator-mcp"]}}}

Fit and risk

Best for

  • Teams developing or performing QA with macOS, Xcode, and iOS simulators
  • Users who want an AI assistant to perform mobile UI validation through MCP
  • Developers checking the iOS accessibility tree and UI responses

Not for

  • Environments without macOS, Xcode, or iOS simulators
  • Testing scenarios that require a physical iOS device
  • Tasks that do not need simulator control, inspection, or app installation

Required permissions

  • Requires access to the iOS Simulator and Xcode tools on macOS.
  • Requires Facebook IDB; by default, idb is resolved from PATH, or IOS_SIMULATOR_MCP_IDB_PATH can specify a custom path.
  • Screenshot and video features need write access to the output directory; the default is ~/Downloads, configurable with IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR.
  • App installation and launch require an application path or bundle identifier.

Risks and side effects

  • ui_tap, ui_type, ui_swipe, install_app, and launch_app can change simulator or application state.
  • Screenshots and videos may save simulator screen content to local files.
  • Versions below 1.3.3 have command injection vulnerabilities; the README states this is fixed and recommends version 1.3.3 or later.
  • Text input supports ASCII printable characters only.

Troubleshooting

  1. Confirm that the environment is macOS and that Xcode and the required iOS simulators are installed.
  2. Confirm that IDB is installed and executable; if it is not in PATH, check IOS_SIMULATOR_MCP_IDB_PATH.
  3. Use get_booted_sim_id to confirm a booted simulator, and provide udid when a specific target is needed.
  4. Check that IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR points to a writable directory.
  5. If tools are not registered, check whether IOS_SIMULATOR_MCP_FILTERED_TOOLS filtered them out, then restart the MCP client.
  6. Confirm that the npm package version is at least 1.3.3.

Use cases

Validating UI consistency and behavior after implementing features
Checking accessibility elements on the current simulator screen
Performing tap, text input, and swipe operations
Viewing or saving simulator screenshots
Recording simulator video
Installing and launching applications on the simulator

Supported clients

CursorFull support
Claude CodeFull support