iOS Simulator MCP Server
Provides control over iOS Simulators for UI/UX debugging and development, including simulator management (list, boot, shutdown), app management (install, launch, terminate, list apps), UI interaction (tap, swipe, text input), and deep UI debugging (view hierarchy, constraints, touch targets, contrast, accessibility) via ClaudeDebugKit.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iOS Simulator MCP ServerBoot iPhone 15 Pro and run a full UI/UX audit"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
iOS Simulator MCP Server
An MCP (Model Context Protocol) server that gives Claude Code agentic control over the iOS Simulator for UI/UX debugging and development.
Features
Simulator Control
List, boot, and shutdown simulators
Take screenshots
Set location, status bar overrides
Push notifications
Manage app permissions
App Management
Install, launch, and terminate apps
List installed apps
Open URLs
Access app containers
UI Interaction (requires IDB)
Tap at coordinates
Swipe gestures
Text input
Hardware button presses
Deep UI Debugging (requires ClaudeDebugKit)
Complete view hierarchy inspection
Auto Layout constraint analysis
Touch target size audit (44pt minimum)
Color contrast audit (WCAG AA/AAA)
Accessibility audit
Font and color inspection
View highlighting
Trait collection overrides (dark mode, Dynamic Type)
Memory stats and performance metrics
Related MCP server: Expo iOS Development MCP Server
Installation
Prerequisites
Xcode with iOS Simulator
Node.js 18+
IDB (optional, for UI interaction):
brew install idb-companion pip install fb-idb
Install the MCP Server
cd ios-simulator-mcp-server
npm install
npm run buildConfigure Claude Code
Add to your Claude Code MCP configuration (~/.config/claude-code/mcp.json):
{
"mcpServers": {
"ios-simulator": {
"command": "node",
"args": ["/path/to/ios-simulator-mcp-server/dist/index.js"]
}
}
}Add ClaudeDebugKit to Your iOS App
For deep UI inspection features, add the Swift package to your iOS project:
In Xcode: File → Add Package Dependencies
Enter:
file:///path/to/ClaudeDebugKitAdd to your app (DEBUG builds only):
#if DEBUG
import ClaudeDebugKit
// In AppDelegate or SceneDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions...) {
ClaudeDebugServer.shared.start()
return true
}
#endifUsage Examples
Basic Simulator Control
"List all available iOS simulators"
"Boot iPhone 15 Pro"
"Take a screenshot of the simulator"
"Set the location to San Francisco (37.7749, -122.4194)"App Development Workflow
"Install my app from ~/Build/MyApp.app and launch it"
"Get the view hierarchy of the current screen"
"Find all interactive elements"
"Audit touch targets for HIG compliance"UI/UX Debugging
"Check color contrast for WCAG AA compliance"
"Show me the constraints on the login button"
"Highlight the view with accessibility label 'Submit'"
"Run a full UI/UX audit"Testing Different Configurations
"Switch to dark mode"
"Override Dynamic Type to extra large"
"Simulate a memory warning"
"Get memory stats for the app"Available Tools
Simulator Management
Tool | Description |
| List all simulators |
| Boot a simulator |
| Shutdown a simulator |
| Take screenshot |
| Set GPS location |
| Override status bar |
| Send push notification |
| Grant/revoke permissions |
| Get app logs |
App Management
Tool | Description |
| Install .app bundle |
| Launch app |
| Terminate app |
| List installed apps |
| Open URL |
| Get container path |
UI Interaction (requires IDB)
Tool | Description |
| Tap at coordinates or label |
| Swipe gesture |
| Type text |
| Hardware buttons |
| Long press |
View Debugging (requires ClaudeDebugKit)
Tool | Description |
| Full view tree |
| Auto Layout constraints |
| Find by label/identifier |
| Color information |
| Font details |
| Visual highlighting |
| All tappable elements |
| Responder chain |
| Trait collection |
| Override appearance |
| Memory usage |
| Export view as PNG |
Auditing (requires ClaudeDebugKit)
Tool | Description |
| Check 44pt minimum |
| WCAG contrast check |
| Auto Layout issues |
| Accessibility issues |
| Full UI/UX audit |
Architecture
┌─────────────────────────────────────────────────────────┐
│ Claude Code │
└─────────────────────┬───────────────────────────────────┘
│ MCP Protocol (stdio)
▼
┌─────────────────────────────────────────────────────────┐
│ ios-simulator-mcp-server │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ simctl │ │ IDB │ │ Debug Client │ │
│ │ (built-in) │ │ (optional) │ │ (HTTP) │ │
│ └──────┬──────┘ └──────┬──────┘ └────────┬────────┘ │
└─────────┼────────────────┼──────────────────┼──────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ iOS Simulator │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Your iOS App │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ ClaudeDebugKit │ │ │
│ │ │ (HTTP Server on :8765) │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘Requirements
macOS with Xcode 15+
Node.js 18+
iOS 14+ target for ClaudeDebugKit
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AKAICH00/ios-simulator-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server