Model Context Protocol (MCP) server that lets LLMs control iOS Simulators via natural-language commands on top of Facebook/Meta idb.
https://github.com/InditexTech/mcp-server-simulator-ios-idbTurn your iPhone testing workflow into a conversation. This MCP server lets LLMs control iOS Simulators through natural language, eliminating the tedious back-and-forth between code, manual testing, and automation scripts.
If you're building iOS apps, you know the drill: make a change, build, launch simulator, navigate to the right screen, test the feature, repeat. Or worse - write brittle UI automation scripts that break every time you move a button.
What if you could just tell Claude: "Install the latest build, navigate to the profile screen, tap the edit button, and take a screenshot"? That's exactly what this MCP server does.
Before: Write a UITest script to tap coordinates, wait for elements, handle state transitions
// 15+ lines of XCTest boilerplate
let app = XCUIApplication()
app.launch()
let loginButton = app.buttons["Login"]
XCTAssertTrue(loginButton.waitForExistence(timeout: 5))
loginButton.tap()
// ... more ceremony
After: Natural language commands that work immediately
launch app com.mycompany.myapp
tap the login button
input text [email protected]
take screenshot
You save hours per week just by eliminating the friction between "I want to test this" and actually testing it.
This isn't just about tapping buttons. You get the full iOS testing toolkit through conversation:
Try asking Claude to "set the location to San Francisco, launch the weather app, grant location permission, and record a video of the forecast screen." That's a 30-second conversation instead of a 30-minute automation script.
Quick feature validation: "Install the latest TestFlight build, navigate to the new checkout flow, and walk me through each screen with screenshots"
Bug reproduction: "Launch the app in a clean state, go to settings, toggle dark mode, and capture what happens to the navigation bar"
Regression testing: "Install both builds, test the same user flow on each, and compare the screenshots"
Demo preparation: "Set up the simulator with the demo user account, pre-load the sample data, and position it on the success screen"
MCP Server: Connect directly to Claude or other LLM assistants for conversational testing
{
"mcpServers": {
"ios-simulator": {
"command": "node",
"args": ["/path/to/dist/index.js"]
}
}
}
Library Mode: Embed natural language simulator control in your own tools
const { orchestrator } = createMCPServer();
await orchestrator.processInstruction('create session iPhone 14');
await orchestrator.processInstruction('install app ./build/MyApp.ipa');
This leverages Facebook's battle-tested idb toolkit under the hood, so you get reliable simulator control without reinventing the wheel. The natural language parser understands dozens of commands and can handle complex multi-step operations.
Prerequisites: macOS with Xcode, Node.js 18+, and Homebrew for installing idb-companion.
The fastest way to try it:
git clone https://github.com/InditexTech/mcp-server-simulator-ios-idb.git
cd mcp-server-simulator-ios-idb
npm install && npm run build && npm start
Or if you're using Claude with Cline, just ask: "Add this MCP to Cline: https://github.com/InditexTech/mcp-server-simulator-ios-idb"
If you're spending time manually testing iOS apps or writing brittle automation scripts, this MCP server turns that friction into natural conversation. Your testing workflow becomes as simple as describing what you want to test.
Stop wrestling with simulator automation and start having conversations about your app instead.