A Model Context Protocol server implementation for iOS Simulator control.
https://github.com/ambar/simctl-mcpStop switching between Xcode, Terminal, and your code editor every time you need to manage iOS simulators. This MCP server brings complete iOS Simulator control directly into your AI workflow.
You know the drill: you're deep in code, need to test on a different device, so you alt-tab to Xcode, navigate through menus, wait for the simulator to boot, install your app, then finally get back to coding. By then, you've lost your flow.
With simctl-mcp, you control everything through natural language:
No more GUI hunting or memorizing simctl flags.
This isn't just basic device management. You get the full simctl toolkit through MCP:
Device Management: Create, boot, shutdown, and delete simulators on demand. List available device types and runtimes without diving into Xcode.
App Lifecycle: Install, uninstall, launch, and terminate apps. Get container paths and app information instantly.
Permissions: Grant or revoke specific app permissions without navigating Settings menus.
System Features: Send push notifications, add media files, control appearance settings, manage certificates, and handle clipboard content.
Testing Utilities: Take screenshots, open URLs, set environment variables, and reset keystores.
Rapid Testing Setup: "Create three simulators - iPhone 15, iPad Pro, and Apple Watch - all with iOS 17.2, install TestFlight, and launch my app with location permissions enabled."
Bug Reproduction: "Boot the iPhone 14 simulator, set it to dark mode, clear the app's permissions, install version 2.1.0, and launch with these specific push notification payload."
CI/CD Integration: Run in HTTP mode to automate simulator management in your build pipeline. Create clean environments, install builds, run tests, and capture screenshots.
Appium Integration: Generate Appium connection strings for specific apps and devices without manual configuration.
STDIO Mode (default): Integrates directly with MCP-compatible tools like Cursor, Claude Desktop, or your custom MCP client. Zero configuration needed.
HTTP Server Mode: Perfect for team environments, CI/CD systems, or when you need programmatic access from non-MCP tools.
# Direct MCP integration
npx simctl-mcp
# HTTP server for broader access
npx simctl-mcp --http --port 3000
npx simctl-mcp (Node.js and Xcode Command Line Tools required){
"mcpServers": {
"simctl-mcp": {
"command": "npx",
"args": ["-y", "simctl-mcp"]
}
}
}
Built on Apple's native simctl, so it's as reliable as the tool you already trust. MIT licensed and ready for production use.
The iOS development workflow just got a lot smoother.