Joshua Yoes/ios-simulator-mcp
Built by Metorial, the integration platform for agentic AI.
Joshua Yoes/ios-simulator-mcp
Server Summary
Get the ID of the currently booted iOS simulator
Describe all accessibility elements on the simulator
Control UI interactions in the simulator
Inspect UI elements on screens
Capture screenshots of the simulator
A Model Context Protocol (MCP) server for interacting with iOS simulators. This server allows you to interact with iOS simulators by getting information about them, controlling UI interactions, and inspecting UI elements.
https://github.com/user-attachments/assets/453ebe7b-cc93-4ac2-b08d-0f8ac8339ad3
IOS_SIMULATOR_MCP_FILTERED_TOOLS
: A comma-separated list of tool names to filter out from being registered. For example: screenshot,record_video,stop_recording
This MCP server allows AI assistants integrated with a Model Context Protocol (MCP) client to perform Quality Assurance tasks by making tool calls. This is useful immediately after implementing features to help ensure UI consistency and correct behavior.
After a feature implementation, instruct your AI assistant within its MCP client environment to use the available tools. For example, in Cursor's agent mode, you could use the prompts below to quickly validate and document UI interactions.
Verify UI Elements:
Verify all accessibility elements on the current screen
Confirm Text Input:
Enter "QA Test" into the text input field and confirm the input is correct
Check Tap Response:
Tap on coordinates x=250, y=400 and verify the expected element is triggered
Validate Swipe Action:
Swipe from x=150, y=600 to x=150, y=100 and confirm correct behavior
Detailed Element Check:
Describe the UI element at position x=300, y=350 to ensure proper labeling and functionality
Take Screenshot:
Take a screenshot of the current simulator screen and save it to my_screenshot.png
Record Video:
Start recording a video of the simulator screen (saves to ~/Downloads/simulator_recording_$DATE.mp4 by default)
Stop Recording:
Stop the current simulator screen recording
This section provides instructions for integrating the iOS Simulator MCP server with different Model Context Protocol (MCP) clients.
Cursor manages MCP servers through its configuration file located at ~/.cursor/mcp.json
.
# Open with your default editor (or use 'code', 'vim', etc.)
open ~/.cursor/mcp.json
# Or use Cursor's command if available
# cursor ~/.cursor/mcp.json
mcpServers
section with the iOS simulator server configuration:
{
"mcpServers": {
// ... other servers might be listed here ...
"ios-simulator": {
"command": "npx",
"args": ["-y", "ios-simulator-mcp"]
}
}
}
Ensure the JSON structure is valid, especially if mcpServers
already exists.git clone https://github.com/joshuayoes/ios-simulator-mcp
cd ios-simulator-mcp
npm install
npm run build
mcpServers
section, pointing to your local build:
{
"mcpServers": {
// ... other servers might be listed here ...
"ios-simulator": {
"command": "node",
"args": ["/full/path/to/your/ios-simulator-mcp/build/index.js"]
}
}
}
Important: Replace /full/path/to/your/
with the absolute path to where you cloned the ios-simulator-mcp
repository.Claude Code CLI can manage MCP servers using the claude mcp
commands or by editing its configuration files directly. For more details on Claude Code MCP configuration, refer to the official documentation.
claude mcp add
command:
claude mcp add ios-simulator --command npx --args "-y,ios-simulator-mcp"
Note: The --args
parameter takes a single comma-separated string.claude mcp add
command, pointing to your local build:
claude mcp add ios-simulator --command node --args "/full/path/to/your/ios-simulator-mcp/build/index.js"
Important: Replace /full/path/to/your/
with the absolute path to where you cloned the ios-simulator-mcp
repository.MIT