MCP Server for iOS Simulator
An MCP server that takes plain-language commands and drives the iOS Simulator through idb: apps, taps, logs
- 342 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- The agent installs and removes apps, clears the keychain and changes simulator data
- The install changes the system: idb-companion is added through Homebrew and fb-idb into the Python environment
Install
- Works in
Manual install
git clone https://github.com/InditexTech/mcp-server-simulator-ios-idb.git && cd mcp-server-simulator-ios-idb && python3 -m venv venv && source venv/bin/activate && npm install && npm run buildThe install adds idb-companion through Homebrew and fb-idb through pip.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent installs and removes apps, clears the keychain and changes simulator data
- The install changes the system: idb-companion is added through Homebrew and fb-idb into the Python environment
This is third-party code. Review the repository files before installing.
What it does
The server connects a language model to the iOS Simulator on a Mac. An MCP client sends a phrase like “create simulator iPhone 14” or “tap at 100, 200” to the single process-instruction tool. A built-in parser turns the phrase into a command, and the commands run through idb and through `xcrun simctl`. The server creates and ends simulator sessions, boots and shuts down devices and installs .ipa builds. It launches, terminates and uninstalls apps. For the UI there are taps, swipes, buttons and text input. The accessibility tree returns the screen elements or describes the element at a given point. For debugging the server takes screenshots, records video and pulls system and app logs. It lists and deletes crash reports. Additional commands fake the location, add photos to the camera roll, grant app permissions and clear the keychain.
Who it is for. For iOS developers and testers who want to drive the simulator from Claude Desktop, Cline or another MCP client with plain phrases.
Good fit when
- You need to boot an iPhone simulator, install a build and launch the app with a series of phrases
- You want taps and swipes driven from a description, without the Xcode UI and XCTest scripts
- You need app logs or a fresh crash report after a crash
- You need to fake the location, add a photo to the camera roll and grant permissions before checking a flow
- You need a video of a walkthrough to attach to a bug report
Not a fit when
- You need a real iPhone: the server works with simulators only
- You have no Mac with Xcode: macOS and an installed Xcode are required
- You need Android emulators: the project covers iOS only
- You need a proven CI test suite: the parser understands a fixed set of phrases, and an unusual wording may not match
Example request
Create an iPhone 14 simulator session, install /path/to/my-app.ipa, launch com.example.myapp and take a screenshot.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
macOS, Node.js 20 or later, Homebrew and Xcode with simulators installed are required. The installer puts fb-idb into a Python virtual environment, and the environment has to be activated before each run with `source venv/bin/activate`.
The MCP settings point to the built dist/index.js file, so you first clone the project and build it with npm commands. There is no package to run through npx.
Importing the package root immediately starts the MCP stdio server, and there is no way to switch that off.
How to disable. Remove the ios-simulator block from the MCP client settings and stop the process with `Ctrl+C`. The project folder with its virtual environment can be deleted, and idb-companion is removed with `brew uninstall idb-companion`.
FAQ
How do I connect MCP Server for iOS Simulator to Claude Desktop?
Clone the repository, run `npm install` and `npm run build`, then add a server named ios-simulator with the command node and the argument /path/to/mcp-server-simulator-ios-idb/dist/index.js to the settings. After the client restarts, you can write simulator phrases. The shortest path in Cline is to ask it to add this MCP from the repository link.
Which phrases does the server understand?
The parser knows a fixed set: “create session”, “list simulators”, “boot simulator” with a UDID, “install app”, “launch app”, “tap at 100, 200”, “take screenshot”, “get logs”, “set location” and more.
Does the server work with a real iPhone?
No. All examples and commands refer to simulators, including picking a device by UDID. A real phone needs a different tool.
What gets installed on my computer?
The installer checks that it is macOS, installs idb-companion through Homebrew and the fb-idb package with pip into a virtual environment. So the install changes the system and reaches beyond the project folder.
Can I use the code as a library?
Yes, with a caveat: importing the package root starts the MCP server. To take only the parser, orchestrator and idb manager, import them by deep paths from dist/parser, dist/orchestrator and dist/idb.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server for the iOS Simulator: taps, swipes, text input, accessibility tree, screenshots, video and app control
An MCP server to drive iOS and Android: simulators, emulators and real devices via accessibility trees and screenshots
XcodeBuildMCP (now MobileBuildMCP)
XcodeBuildMCP
An MCP server and CLI from Sentry for building, running and testing Xcode iOS and macOS projects from an AI agent
Desktop app and CLI for Android emulators, iOS simulators and real phones with an MCP server for agents
An MCP server that drives a real iPhone through macOS iPhone Mirroring: the agent sees the screen, taps, swipes and types
The npx serve-sim command streams an iOS Simulator to the browser and lets an agent tap, swipe, type and replace the camera feed
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| MCP Server for iOS Simulator (this entry) | no | not required | 342 | |
| Mobile MCP | no | not required | 10,095 | drives iOS and Android, simulators and real devices, while this server is limited to iOS simulators |
| iOS Simulator Skill | no | 1,303 | a skill with build and simulator scripts, while this server takes plain-language commands through MCP | |
| mirroir-mcp | no | not required | 270 | an MCP server that drives a real iPhone through macOS iPhone Mirroring |
README in short
The project has three components: the phrase parser, the orchestrator and the idb manager, linked by adapters. The execution flow and session model are covered in detail in the ARCHITECTURE.md file.