xcsimctl is an MCP server that provides structured control over Apple iOS simulators directly through Xcode command-line tools. Built for mobile app developers, quality assurance engineers, and automated testing workflows, it connects AI clients like Claude Desktop to the macOS xcrun simctl utility via standard input and output. The server enables users and LLM agents to perform comprehensive simulator lifecycle operations without opening Xcode manually or writing terminal commands. It exposes tools to list available simulator runtimes, boot or shut down devices, create or delete instances, and install and launch application packages. Beyond core device management, xcsimctl supports environment configuration for interface testing, including toggling light and dark appearance modes, overriding status bar battery and network indicators, setting simulated GPS locations, and simulating push notification deliveries with payload validation. It also allows developers to grant or revoke app privacy permissions and capture simulator screenshots or video recordings for inspection. By exposing these capabilities through Model Context Protocol tools, it lets conversational agents automate end-to-end iOS application testing and setup tasks.
Category: Cloud & Infrastructure
Tags: ios, macos, mobile-development, simulator, xcode
~/Library/Application Support/Claude/claude_desktop_config.json: json { "mcpServers": { "simctl": { "command": "uvx", "args": ["simctl-mcp-server"], "env": {} } } } 3. Alternatively, for local installation, clone the repository and run pip install ., then set the command field in your configuration to simctl-mcp-server. 4. For VS Code with the MCP Extension, add the configuration block under mcp.servers in settings.json and restart VS Code.Part of MCP Servers
You can install and run xcsimctl using uvx by executing uvx simctl-mcp-server, provided you have Python 3.13 or newer and Xcode Command Line Tools installed. You can also clone the repository from GitHub and install it into your local Python environment with pip install, or build the wheel package manually.
xcsimctl operates over standard input and output (stdio), making it compatible with any client supporting the Model Context Protocol. It has documented configuration setups for Claude Desktop and Visual Studio Code with the MCP extension, as well as standalone execution from terminal environments.
xcsimctl enables AI assistants to control iOS simulators via xcrun simctl. It can list, boot, shut down, create, and delete simulator devices, install and launch application packages, override system appearance and status bar values, mock GPS coordinates, send push notifications, and capture screenshots or video recordings.
The server requires macOS running Xcode with Command Line Tools installed, specifically supporting features up to Xcode 15 and above. It also requires Python 3.13 or later. The server relies on xcrun simctl being accessible in the system environment to manage local simulators.