development
location
documentation
public
iOS
simulator
What is iOS Simulator?
A Model Context Protocol (MCP) server that enables LLMs to interact with iOS simulators (iPhone, iPad, etc.) through natural language commands.
Documentation
MCP Server for iOS Simulator
Overview
This MCP server provides a bridge between Large Language Models (LLMs) and iOS simulators, offering comprehensive control through natural language commands. Here's what it can do: For detailed usage, see the Installation guide and Supported Commands sections. You can use this server either through direct MCP integration or as a standalone library. Check out the Architecture section to understand how the components work together to enable natural language control of iOS simulators.
Requirements
macOS: Required for iOS simulator support
Node.js: v14.0.0 or higher
Homebrew: Required for installing dependencies
XCode: With iOS simulators installed
Installation
The easiest way to install this server is through Cline: 1. Simply ask Cline: Add this mcp to cline https://github.com/InditexTech/mcp-server-simulator-ios-idb 2. Cline will handle the installation process automatically, including dependency management and configuration. Alternatively, you can install it manually: bash # Clone the repository git clone https://github.com/InditexTech/mcp-server-simulator-ios-idb.git cd mcp-server-simulator-ios-idb # Create and activate Python virtual environment python3 -m venv venv source venv/bin/activate # On Unix/macOS # Install dependencies npm install # Build the project npm run build # Start the project npm start # Run tests npm test The installation process will automatically: 1. Check if you're running macOS 2. Install idb-companion via Homebrew 3. Install fb-idb via pip in the virtual environment Note: Make sure to keep the virtual environment activated while using the server. If you close your terminal and come back later, you'll need to reactivate the virtual environment with the source venv/bin/activate command before running npm start.
MCP Integration
To use this server with Claude or other LLM assistants: 1. Add the server to your MCP settings in Claude Desktop: json { "mcpServers": { "ios-simulator": { "command": "node", "args": ["/path/to/mcp-server-simulator-ios-idb/dist/index.js"], "env": {} } } } 2. The LLM can now use natural language commands to control iOS simulators: create a simulator session with iPhone 14 install app /path/to/my-app.ipa launch app com.example.myapp tap at 100, 200 take a screenshot
Supported Commands
The NLParser supports the following natural language commands:
The server consists of three main components: 1. IDBManager: Low-level component that interacts directly with iOS simulators through idb. 2. NLParser: Component that interprets natural language instructions and converts them into structured commands. 3. MCPOrchestrator: Central component that coordinates interactions between the parser and the IDBManager. These components are connected through adapters: - ParserToOrchestrator: Converts parser results into orchestrator commands. - OrchestratorToIDB: Translates orchestrator commands into IDBManager calls.