joshuayoes avatar

iOS Simulator

joshuayoes/ios-simulator-mcp

The iOS Simulator MCP server provides tools for programmatic control and inspection of iOS simulators, enabling interaction with simulated iOS devices through an MCP interface. It offers capabilities to retrieve simulator information, perform UI interactions like tapping and typing, and inspect accessibility information to describe UI elements on screen. This server solves the problem of integrating iOS simulator automation into AI-assisted development workflows, allowing Claude and other MCP clients to test and interact with iOS applications directly.

GitHub stars
2K
tools
17
last updated
Mar 8, 2026

Tools

17 tools

Public tool metadata for what this MCP can expose to an agent.

get_booted_sim_idGet the ID of the currently booted iOS simulator

Get the ID of the currently booted iOS simulator

No parameter schema in public metadata yet.

open_simulatorOpens the iOS Simulator application

Opens the iOS Simulator application

No parameter schema in public metadata yet.

ui_describe_allDescribes accessibility information for the entire screen in the iOS Simulator

Describes accessibility information for the entire screen in the iOS Simulator

No parameter schema in public metadata yet.

ui_tapTap on the screen in the iOS Simulator

Tap on the screen in the iOS Simulator

No parameter schema in public metadata yet.

ui_typeInput text into the iOS Simulator

Input text into the iOS Simulator

No parameter schema in public metadata yet.

ui_swipeSwipe on the screen in the iOS Simulator

Swipe on the screen in the iOS Simulator

No parameter schema in public metadata yet.

ui_describe_pointReturns the accessibility element at given co-ordinates on the iOS Simulator's screen

Returns the accessibility element at given co-ordinates on the iOS Simulator's screen

No parameter schema in public metadata yet.

ui_find_elementSearches the accessibility tree and returns elements matching the given criteria

Searches the accessibility tree and returns elements matching the given criteria

No parameter schema in public metadata yet.

ui_viewGet the image content of a compressed screenshot of the current simulator view

Get the image content of a compressed screenshot of the current simulator view

No parameter schema in public metadata yet.

screenshotTakes a screenshot of the iOS Simulator

Takes a screenshot of the iOS Simulator

No parameter schema in public metadata yet.

record_videoRecords a video of the iOS Simulator using simctl directly

Records a video of the iOS Simulator using simctl directly

No parameter schema in public metadata yet.

stop_recordingStops the simulator video recording using killall

Stops the simulator video recording using killall

No parameter schema in public metadata yet.

install_appInstalls an app bundle (.app or .ipa) on the iOS Simulator

Installs an app bundle (.app or .ipa) on the iOS Simulator

No parameter schema in public metadata yet.

launch_appLaunches an app on the iOS Simulator by bundle identifier

Launches an app on the iOS Simulator by bundle identifier

No parameter schema in public metadata yet.

terminate_appTerminates a running app on the iOS Simulator by bundle identifier. Useful for testing cold-start flows and verifying crash recovery without reinstalling the app.

Terminates a running app on the iOS Simulator by bundle identifier. Useful for testing cold-start flows and verifying crash recovery without reinstalling the app.

No parameter schema in public metadata yet.

open_urlOpens a URL or deep link in the iOS Simulator. Handles https:// URLs (via Safari), custom URL schemes, and universal links β€” essential for testing deep-link routing and OAuth redirect flows.

Opens a URL or deep link in the iOS Simulator. Handles https:// URLs (via Safari), custom URL schemes, and universal links β€” essential for testing deep-link routing and OAuth redirect flows.

No parameter schema in public metadata yet.

list_appsLists all installed apps on the iOS Simulator with their bundle identifiers and display names, sorted alphabetically. Removes the need to look up bundle IDs manually before

Lists all installed apps on the iOS Simulator with their bundle identifiers and display names, sorted alphabetically. Removes the need to look up bundle IDs manually before

No parameter schema in public metadata yet.

Sponsors

Readme

iOS Simulator MCP Server

Install MCP Server NPM Version

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.

Security Notice: Command injection vulnerabilities present in versions < 1.3.3 have been fixed. Please update to v1.3.3 or later. See SECURITY.md for details.

https://github.com/user-attachments/assets/a88e449c-8f1d-46a5-9816-0f97e071c460

🌟 Featured In

This project has been featured and mentioned in various publications and resources:


View the full README on GitHub

Details

Repository
github.com/joshuayoes/ios-simulator-mcp
Category
Mobile Development

Related Mobile Development MCP servers

View all
1mobile-next avatarMobile Mcpmobile-next/mobile-mcpMCP server for iOS and Android Mobile Development, Automation and Testing10.5Kstars
2srmorete avatarMobile Device MCPsrmorete/mobile-device-mcpControl iOS and Android devices with multi-device and seamless Native/WebView support.54stars
3us-all avatarAndroidus-all/android-mcp-serverAndroid MCP β€” ADB-based device, apps, UI, logcat, emulator, files, system, debug16stars
4saranshbamania avatarMobile Device Mcpsaranshbamania/mobile-device-mcpAI control of Android/iOS devices. Screenshots, UI tree, AI vision, Flutter, video. 49 tools.1stars
5appium avatarAppiumappium/appium-mcpMCP Appium provides cross-platform mobile automation with intelligent locators, session management, and test generation.355stars
6minhalvp avatarAndroidminhalvp/android-mcp-serverAn MCP server that provides control over Android devices via adb750stars