Data as of
iOS Simulator MCP Server for Cursor: Setup & Config
Cursor: Let an MCP assistant inspect and operate an iOS simulator on macOS.
What you can do with iOS Simulator in Cursor
Choose it for assistant-led simulator QA using accessibility data, gestures, and visual captures.
- Capture screenshots or videos for QA evidence.
- Install and launch a simulator build and test deep links.
Before you start: iOS Simulator in Cursor
- 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 Cursor configuration
Choose Cursor configuration scope
For iOS Simulator MCP Server, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.
Add iOS Simulator MCP Server to Cursor
Use the ios-simulator-mcp entry below in mcpServers. Keep iOS Simulator MCP Server's documented stdio connection fields and your other Cursor entries.
Check iOS Simulator MCP Server in Cursor
iOS Simulator MCP Server: Enable in Cursor’s MCP settings; inspect tools.
Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.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 Cursor
iOS Simulator's stored tool list documents 17 tools; compare it with Cursor's connected tool list, because the stored list is not a live check.
- get_booted_sim_id
Find get_booted_sim_id under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Identify the simulator that is currently running.
- open_simulator
Find open_simulator under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- ui_describe_all
Find ui_describe_all under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- ui_tap
Find ui_tap under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- ui_type
Find ui_type under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- ui_swipe
Find ui_swipe under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- ui_describe_point
Find ui_describe_point under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- ui_find_element
Find ui_find_element under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- ui_view
Find ui_view under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- screenshot
Find screenshot under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Save a simulator screen capture to a file.
- record_video
Find record_video under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Begin a simulator screen recording through simctl.
- stop_recording
Find stop_recording under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
End the active simulator video capture.
- install_app
Find install_app under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Load a local .app bundle or .ipa package into the simulator.
- launch_app
Find launch_app under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Start an installed app using its bundle identifier.
- terminate_app
Find terminate_app under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Stop a running app identified by its bundle ID.
- open_url
Find open_url under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Open a URL in the simulator for navigation or link testing.
- list_apps
Find list_apps under iOS Simulator in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Enumerate installed apps with their names and bundle IDs.
Troubleshooting iOS Simulator in Cursor
- Cursor must find npx ios-simulator-mcp (Node.js/npm) for iOS Simulator MCP Server. Enable the project/user entry in MCP settings and inspect its tools.
- Review IDB_UDID, IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR, IOS_SIMULATOR_MCP_FILTERED_TOOLS for iOS Simulator MCP Server before sharing project .cursor/mcp.json; project scope travels with the repository.
- iOS Simulator MCP Server uses stdio here: Cursor 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 Cursor troubleshooting lives in the /clients/cursor guide.
iOS Simulator MCP Server — details. Cursor guide