Ios Simulator MCP Server
iOS simulator interface for AI agents to retrieve data and automate UI interactions.
Data last scanned today · Reviewed today
Overview
This server provides a set of tools for interacting with local iOS simulators directly from an AI assistant. It allows users to retrieve information about booted simulators, open the simulator application, and perform UI-level actions such as tapping coordinates or typing text. The server also supports accessibility inspection, providing descriptions of the entire screen to help AI agents understand the current simulator state. The server is designed for developers seeking to automate mobile testing or debugging workflows. Users can interact with specific simulator instances using their UUID or rely on environment variables for configuration. It requires the simulator environment to be set up locally on the machine where the MCP host is running.
Our verdict
This server carries a high risk level with a security score of 44/100. The score reflects that the project is community-maintained rather than vendor-backed, and key security aspects like authentication and read-only mode have not yet been editorially reviewed. Users should note that while known command injection vulnerabilities have been patched in versions 1.3.3 and later, the tool remains an unofficial community project and should be used with caution in sensitive environments.
- High popularity with 2112 GitHub stars
- Small attack surface with only two direct dependencies
- Clear documentation on available automation tools
- High security risk due to unreviewed authentication and read-only modes
- Not an official vendor-maintained project
- Lack of an active homepage link for status tracking
Setup
{
"mcpServers": {
"ios-simulator-mcp": {
"args": [
"-y",
"ios-simulator-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| get_booted_sim_id | Get the ID of the currently booted iOS simulator | low |
| open_simulator | Opens the iOS Simulator application | medium |
| ui_describe_all | Describes accessibility information for the entire screen in the iOS Simulator | low |
| ui_tap | Tap on the screen in the iOS Simulator | medium |
| ui_type | Input text into the iOS Simulator | medium |
| ui_swipe | Swipe on the screen in the iOS Simulator | medium |
| ui_describe_point | Returns the accessibility element at given co-ordinates on the iOS Simulator's screen | low |
| ui_find_element | Searches the accessibility tree and returns elements matching the given criteria | low |
| ui_view | Get the image content of a compressed screenshot of the current simulator view | low |
| screenshot | Takes a screenshot of the iOS Simulator | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What security precautions should I be aware of?
Command injection vulnerabilities identified in versions prior to 1.3.3 have been resolved. Ensure you are running version 1.3.3 or later.
›How can I specify which iOS simulator to interact with?
Most tools accept an optional udid parameter to target a specific simulator. Alternatively, you can set the IDB_UDID environment variable to define a default target.
›Where are screenshots saved by default?
Screenshots are saved to the path specified in the IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR environment variable. If this variable is not set, the server defaults to the ~/Downloads directory.
›Are there any character restrictions for text input?
Yes, the ui_type tool only supports ASCII printable characters.
›Can I search for specific UI elements?
Yes, the ui_find_element tool allows you to search the accessibility tree by providing an array of search strings that match against an element's accessibility label or unique identifier.
Changelog
- Securityv1.6.0 - Targeted UI Queries 🔎
2026-04-21
- Fixv1.5.2 - Tool Annotations Support 🏷️
2025-12-31
- Newv1.5.1 - Support Custom IDB Paths 🛣️
2025-10-07
- Security
- Newv1.4.3 - Add Duration To Swipe Tool 👆
2025-09-25
- Newv1.4.2 - Enhanced Docs & Config 📚
2025-08-16
- Security
- Securityv1.4.0 - UI View Tool 🤖👀
2025-07-07
- Security
- Newv1.3.2 - Troubleshooting Guide 📄
2025-04-21
Badge
Maintain this server? Add the live badge to your README.