Install
$ agentstack add mcp-joshuayoes-ios-simulator-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
iOS Simulator MCP Server
[](https://cursor.com/install-mcp?name=ios-simulator&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImlvcy1zaW11bGF0b3ItbWNwIl19) [](https://www.npmjs.com/package/ios-simulator-mcp)
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 ; }
**Notes:** Environment variables are passed using `SIMCTL_CHILD_` because `simctl launch` does not support `--env/--envs` on all Xcode versions.
**Example:**
```json
{
"bundle_id": "com.example.app",
"terminate_running": true,
"env": {
"FOO": "bar",
"BAZ": "qux"
}
}
💡 Use Case: QA Step via MCP Tool Calls
This MCP server allows AI assistants integrated with a Model Context Protocol (MCP) client to perform Quality Assurance tasks by making tool calls. This is useful immediately after implementing features to help ensure UI consistency and correct behavior.
How to Use
After a feature implementation, instruct your AI assistant within its MCP client environment to use the available tools. For example, in Cursor's agent mode, you could use the prompts below to quickly validate and document UI interactions.
Example Prompts
- Verify UI Elements:
`` Verify all accessibility elements on the current screen ``
- Confirm Text Input:
`` Enter "QA Test" into the text input field and confirm the input is correct ``
- Check Tap Response:
`` Tap on coordinates x=250, y=400 and verify the expected element is triggered ``
- Validate Swipe Action:
`` Swipe from x=150, y=600 to x=150, y=100 and confirm correct behavior ``
- Detailed Element Check:
`` Describe the UI element at position x=300, y=350 to ensure proper labeling and functionality ``
- Show Your AI Agent the Simulator Screen:
`` View the current simulator screen ``
- Take Screenshot:
`` Take a screenshot of the current simulator screen and save it to my_screenshot.png ``
- Record Video:
`` Start recording a video of the simulator screen (saves to the default output directory, which is ~/Downloads unless overridden by IOSSIMULATORMCPDEFAULTOUTPUT_DIR) ``
- Stop Recording:
`` Stop the current simulator screen recording ``
- Install App:
`` Install the app at path/to/MyApp.app on the simulator ``
- Launch App:
`` Launch the Safari app (com.apple.mobilesafari) on the simulator ``
Prerequisites
- Node.js
- macOS (as iOS simulators are only available on macOS)
- Xcode and iOS simulators installed
- Facebook IDB tool (see install guide)
Installation
This section provides instructions for integrating the iOS Simulator MCP server with different Model Context Protocol (MCP) clients.
Installation with Cursor
Cursor manages MCP servers through its configuration file located at ~/.cursor/mcp.json.
Option 1: Using NPX (Recommended)
- Edit your Cursor MCP configuration file. You can often open it directly from Cursor or use a command like:
``bash # Open with your default editor (or use 'code', 'vim', etc.) open ~/.cursor/mcp.json # Or use Cursor's command if available # cursor ~/.cursor/mcp.json ``
- Add or update the
mcpServerssection with the iOS simulator server configuration:
``json { "mcpServers": { // ... other servers might be listed here ... "ios-simulator": { "command": "npx", "args": ["-y", "ios-simulator-mcp"] } } } ` Ensure the JSON structure is valid, especially if mcpServers` already exists.
- Restart Cursor for the changes to take effect.
Option 2: Local Development
- Clone this repository:
``bash git clone https://github.com/joshuayoes/ios-simulator-mcp cd ios-simulator-mcp ``
- Install dependencies:
``bash npm install ``
- Build the project:
``bash npm run build ``
- Edit your Cursor MCP configuration file (as shown in Option 1).
- Add or update the
mcpServerssection, pointing to your local build:
``json { "mcpServers": { // ... other servers might be listed here ... "ios-simulator": { "command": "node", "args": ["/full/path/to/your/ios-simulator-mcp/build/index.js"] } } } ` **Important:** Replace /full/path/to/your/ with the absolute path to where you cloned the ios-simulator-mcp` repository.
- Restart Cursor for the changes to take effect.
Installation with Claude Code
Claude Code CLI can manage MCP servers using the claude mcp commands or by editing its configuration files directly. For more details on Claude Code MCP configuration, refer to the official documentation.
Option 1: Using NPX (Recommended)
- Add the server using the
claude mcp addcommand:
``bash claude mcp add ios-simulator npx ios-simulator-mcp ``
- Restart any running Claude Code sessions if necessary.
Option 2: Local Development
- Clone this repository, install dependencies, and build the project as described in the Cursor "Local Development" steps 1-3.
- Add the server using the
claude mcp addcommand, pointing to your local build:
``bash claude mcp add ios-simulator -- node "/full/path/to/your/ios-simulator-mcp/build/index.js" ` **Important:** Replace /full/path/to/your/ with the absolute path to where you cloned the ios-simulator-mcp` repository.
- Restart any running Claude Code sessions if necessary.
Configuration
Environment Variables
| Variable | Description | Example | | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | | IOS_SIMULATOR_MCP_FILTERED_TOOLS | A comma-separated list of tool names to filter out from being registered. | screenshot,record_video,stop_recording | | IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIR | Specifies a default directory for output files like screenshots and video recordings. If not set, ~/Downloads will be used. This can be handy if your agent has limited access to the file system. | ~/Code/awesome-project/tmp | | IOS_SIMULATOR_MCP_IDB_PATH | Specifies a custom path to the IDB executable. If not set, idb will be used (assuming it's in your PATH). Useful if IDB is installed in a non-standard location. | ~/bin/idb or /usr/local/bin/idb |
Configuration Example
{
"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"
}
}
}
}
MCP Registry Server Listings
[](https://mseep.ai/app/joshuayoes-ios-simulator-mcp)
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: joshuayoes
- Source: joshuayoes/ios-simulator-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.