MCP Server for iOS Simulator
📱 MCP-Server für iOS-Simulator
Ein Server, der das Model Context Protocol (MCP) für iOS-Simulatoren implementiert, basierend auf appium-ios-simulator und unter Verwendung des MCP TypeScript SDK.
📋 Übersicht
Dieses Projekt bietet eine Brücke zwischen iOS-Simulatoren und dem Model Context Protocol, was eine standardisierte Kommunikation mit iOS-Simulator-Instanzen ermöglicht. Es erlaubt die programmgesteuerte Kontrolle von iOS-Simulatoren und nutzt dabei das MCP-Protokoll für konsistente Schnittstellen über verschiedene Umgebungen hinweg. Der Server verwendet stdio als Transportmechanismus, was ihn ideal für die Integration mit Claude Desktop und anderen MCP-kompatiblen Clients macht.
Related MCP server: Simulator MCP
🎬 Demo

Demo, die zeigt, wie man einen iOS-Simulator über Claude AI Desktop startet
🏗️ Architektur
Der Server besteht aus drei Hauptkomponenten:
🔄 Simulator-Management-Ebene - Verwaltet den Lebenszyklus und die Interaktionen des iOS-Simulators
🔌 MCP-Protokoll-Implementierung - Implementiert das Model Context Protocol unter Verwendung des TypeScript SDK mit stdio-Transport
📊 Logger-Komponente - Bietet dateibasierte Protokollierung, ohne den stdio-Transport zu stören
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Protocol │ │ Stdio │ │ Simulator │
│ Implementation │◄────┤ Transport │◄────┤ Management │
│ │ │ │ │ Layer │
└─────────────────┘ └─────────────────┘ └─────────────────┘
▲ ▲
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ MCP Client │ │ iOS Simulator │
│ (e.g. Claude) │ │ │
└─────────────────┘ └─────────────────┘✨ Funktionen
🚀 Starten, Stoppen und Verwalten von iOS-Simulator-Instanzen
🔌 Booten und Herunterfahren von Simulatoren
📲 Installieren und Starten von Anwendungen auf Simulatoren
📸 Erstellen von Screenshots der Simulator-Bildschirme
👆 Ausführen von Tipp-Gesten auf Koordinaten
🔄 Unterstützung für mehrere gleichzeitige Simulator-Sitzungen
📝 Umfassende dateibasierte Protokollierung ohne Konsolenausgabe
🛡️ Fehlerresistenter Betrieb
📋 Voraussetzungen
🟢 Node.js (v16 oder neuer)
🍎 macOS (erforderlich für iOS-Simulatoren)
🛠️ Xcode mit installierten iOS-Simulatoren
📜 TypeScript 4.5+
🔧 Installation
Installation via Smithery
Um den iOS Simulator Control Server automatisch für Claude Desktop via Smithery zu installieren:
npx -y @smithery/cli install @atom2ueki/mcp-server-ios-simulator --client claudeManuelle Installation
# Clone the repository
git clone https://github.com/atom2ueki/mcp-server-ios-simulator.git
cd mcp-server-ios-simulator
# Install dependencies
npm install🐳 Docker
Ein Dockerfile wird bereitgestellt, damit der Server für das Glama MCP-Verzeichnis und andere Container-Hosts verpackt werden kann.
docker build -t mcp-server-ios-simulator .
docker run --rm -i mcp-server-ios-simulatorHinweis: iOS-Simulatoren laufen nur auf macOS. Ein Linux-Container kann den MCP-Prozess hosten und über stdio antworten, aber keinen echten Simulator steuern. Der Container ist für Portabilitätsprüfungen und entfernte MCP-Umgebungen gedacht, die eine Brücke zu einem macOS-Host schlagen.
⚙️ Konfiguration
Die Konfiguration erfolgt über die Datei src/config.ts:
const config = {
simulator: {
defaultDevice: process.env.SIMULATOR_DEFAULT_DEVICE || 'iPhone 16',
defaultOS: process.env.SIMULATOR_DEFAULT_OS || '18.2',
timeout: parseInt(process.env.SIMULATOR_TIMEOUT || '30000', 10),
}
};Sie können diese Einstellungen durch das Setzen von Umgebungsvariablen anpassen:
SIMULATOR_DEFAULT_DEVICE=iPhone 16
SIMULATOR_DEFAULT_OS=18.2
SIMULATOR_TIMEOUT=30000🚀 Verwendung
🔨 Erstellen und Starten des Servers
# Build the project
npm run build
# Start the server
npm start🧰 MCP-Tools
Der Server bietet zwei verschiedene Ansätze zur Steuerung von iOS-Simulatoren:
📱 Direktes Simulator-Management (Empfohlen)
Diese Tools arbeiten direkt mit Simulator-UDIDs und erfordern keine Sitzungsverwaltung:
📋
list-available-simulators- Listet alle verfügbaren Simulatoren mit ihren UDIDs auf▶️
boot-simulator-by-udid- Bootet einen Simulator direkt über seine UDID⏹️
shutdown-simulator-by-udid- Fährt einen Simulator direkt über seine UDID herunter📊
list-booted-simulators- Listet alle aktuell gebooteten Simulatoren auf
Verwenden Sie diesen Ansatz, wenn: Sie Simulatoren einfach direkt booten, verwenden und herunterfahren möchten.
📱 Sitzungsbasiertes Management (Fortgeschritten)
Diese Tools verwenden eine Sitzungsebene, die Simulatoren mit benutzerdefinierten Sitzungs-IDs verfolgt:
📋
list-simulator-sessions- Listet alle aktiven Simulator-Sitzungen auf➕
create-simulator-session- Erstellt eine neue Simulator-Sitzung❌
terminate-simulator-session- Beendet eine Sitzung (fährt den Simulator herunter und räumt auf)🔄
create-and-boot-simulator- Erstellt eine neue Simulator-Sitzung und bootet sie▶️
boot-simulator- Bootet einen Simulator für eine bestehende Sitzung⏹️
shutdown-simulator- Fährt einen Simulator für eine bestehende Sitzung herunter
Verwenden Sie diesen Ansatz, wenn: Sie Simulator-Metadaten verfolgen, Simulatoren über benutzerdefinierte IDs referenzieren oder die fortgeschritteneren Management-Funktionen nutzen müssen.
📲 Anwendungsmanagement
📥
install-app- Installiert eine Anwendung auf einem Simulator🚀
launch-app- Startet eine Anwendung auf einem Simulator🛑
terminate-app- Beendet eine laufende Anwendung auf einem Simulator
🖱️ Interaktions-Tools
📷
take-screenshot- Erstellt einen Screenshot des Simulator-Bildschirms👆
tap-coordinate- Führt einen Tipp-Vorgang an den angegebenen Koordinaten aus
🤖 Beispielverwendung mit Claude Desktop
Konfigurieren Sie Claude Desktop so, dass dieser Server als MCP-Tool verwendet wird:
Öffnen Sie Claude Desktop
Gehen Sie zu Einstellungen > Erweitert
Fügen Sie die folgende Konfiguration zum Abschnitt "MCP Servers" hinzu:
{ "mcpServers": { "simulator": { "command": "node", "args": [ "/path/to/your/mcp-server-ios-simulator/dist/index.js" ] } } }Ersetzen Sie
/path/to/yourdurch den tatsächlichen Pfad, in dem Sie dieses Repository installiert habenSpeichern Sie die Einstellungen und starten Sie Claude Desktop neu
Verwenden Sie die bereitgestellten Tools, um iOS-Simulatoren direkt von Claude Desktop aus zu steuern:
Direkter UDID-Ansatz (Empfohlen):
Bitten Sie Claude zuerst, die verfügbaren Simulatoren aufzulisten:
"Show me all available iOS simulators"Verwenden Sie dann die UDID, um einen bestimmten Simulator zu booten:
"Boot the iOS simulator with UDID 5272EA61-5796-4372-86FE-3B33831D5CC1"Wenn Sie fertig sind, fahren Sie ihn mit derselben UDID herunter:
"Shut down the simulator with UDID 5272EA61-5796-4372-86FE-3B33831D5CC1"
Der direkte UDID-Ansatz ist für die meisten Anwendungsfälle einfacher und zuverlässiger.
**Sitzungsbasierter Ansatz (Fortgeschritten): Verwenden Sie diesen Ansatz nur, wenn Sie die erweiterten Funktionen der Sitzungsverfolgung benötigen:
"Create a new simulator session for iPhone 16 Pro with iOS 18.2" "Boot the simulator for session abc-123" "Take a screenshot of the simulator for session abc-123" "Terminate the simulator session abc-123"
👨💻 Entwicklung
📁 Projektstruktur
src/
├── simulator/ # Simulator management layer
├── mcp/ # MCP protocol implementation
├── bridge/ # Bridge component
├── utils/ # Utility functions including logger
├── config.ts # Configuration handling
└── index.ts # Entry point🔨 Erstellen des Projekts
# Install development dependencies
npm install
# Run TypeScript compiler
npm run build📜 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die Datei LICENSE für Details.
🙏 Danksagungen
📱 appium-ios-simulator für die Bereitstellung der Interaktionsmöglichkeiten mit dem iOS-Simulator
🔌 Model Context Protocol für die Protokollspezifikation und das TypeScript SDK
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with iOS simulators, perform accessibility testing, manage apps, and automate complex iOS workflows.32Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI to control iOS simulators through the MCP protocol. Supports device management, UI automation, and network interception including screenshot capture, text input, and HTTP request mocking.
- AlicenseBqualityCmaintenanceA Model Context Protocol server implementation for iOS Simulator control, providing tools for device management, app operations, permissions, system features, and certificate handling.292020MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for iOS Simulator automation. Enables AI assistants to visually interact with iOS apps running in the simulator.371MIT
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/atom2ueki/mcp-server-ios-simulator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server