MCP Server for iOS Simulator
📱 Servidor MCP para Simulador de iOS
Un servidor que implementa el Protocolo de Contexto de Modelo (MCP) para simuladores de iOS, construido sobre appium-ios-simulator y utilizando el SDK de TypeScript de MCP.
📋 Descripción general
Este proyecto proporciona un puente entre los simuladores de iOS y el Protocolo de Contexto de Modelo, permitiendo una comunicación estandarizada con instancias de simuladores de iOS. Permite el control programático de los simuladores de iOS mientras aprovecha el protocolo MCP para obtener interfaces consistentes en diferentes entornos. El servidor utiliza stdio como mecanismo de transporte, lo que lo hace ideal para la integración con Claude Desktop y otros clientes compatibles con MCP.
Related MCP server: Simulator MCP
🎬 Demostración

Demostración que muestra cómo iniciar un simulador de iOS usando Claude AI Desktop
🏗️ Arquitectura
El servidor consta de tres componentes principales:
🔄 Capa de gestión del simulador - Maneja el ciclo de vida y las interacciones del simulador de iOS
🔌 Implementación del protocolo MCP - Implementa el Protocolo de Contexto de Modelo utilizando el SDK de TypeScript con transporte stdio
📊 Componente de registro (Logger) - Proporciona registro basado en archivos sin interferir con el transporte stdio
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Protocol │ │ Stdio │ │ Simulator │
│ Implementation │◄────┤ Transport │◄────┤ Management │
│ │ │ │ │ Layer │
└─────────────────┘ └─────────────────┘ └─────────────────┘
▲ ▲
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ MCP Client │ │ iOS Simulator │
│ (e.g. Claude) │ │ │
└─────────────────┘ └─────────────────┘✨ Características
🚀 Iniciar, detener y gestionar instancias de simuladores de iOS
🔌 Arrancar y apagar simuladores
📲 Instalar y ejecutar aplicaciones en simuladores
📸 Tomar capturas de pantalla de las pantallas del simulador
👆 Realizar toques en coordenadas
🔄 Soporte para múltiples sesiones de simulador simultáneas
📝 Registro completo basado en archivos sin salida de consola
🛡️ Operación resistente a errores
📋 Requisitos previos
🟢 Node.js (v16 o posterior)
🍎 macOS (requerido para simuladores de iOS)
🛠️ Xcode con simuladores de iOS instalados
📜 TypeScript 4.5+
🔧 Instalación
Instalación a través de Smithery
Para instalar el Servidor de Control de Simulador de iOS para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @atom2ueki/mcp-server-ios-simulator --client claudeInstalación manual
# Clone the repository
git clone https://github.com/atom2ueki/mcp-server-ios-simulator.git
cd mcp-server-ios-simulator
# Install dependencies
npm install🐳 Docker
Se proporciona un Dockerfile para que el servidor pueda empaquetarse para el directorio Glama MCP y otros hosts de contenedores.
docker build -t mcp-server-ios-simulator .
docker run --rm -i mcp-server-ios-simulatorNota: Los simuladores de iOS solo se ejecutan en macOS, por lo que un contenedor de Linux puede alojar el proceso MCP y responder en stdio, pero no puede controlar un simulador real. El contenedor está destinado a comprobaciones de portabilidad y entornos MCP remotos que se conectan a un host macOS.
⚙️ Configuración
La configuración se gestiona a través del archivo 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),
}
};Puede personalizar estos ajustes configurando variables de entorno:
SIMULATOR_DEFAULT_DEVICE=iPhone 16
SIMULATOR_DEFAULT_OS=18.2
SIMULATOR_TIMEOUT=30000🚀 Uso
🔨 Construcción e inicio del servidor
# Build the project
npm run build
# Start the server
npm start🧰 Herramientas MCP
El servidor proporciona dos enfoques distintos para controlar los simuladores de iOS:
📱 Gestión directa del simulador (Recomendado)
Estas herramientas funcionan directamente con los UDID del simulador y no requieren mantener sesiones:
📋
list-available-simulators- Listar todos los simuladores disponibles con sus UDID▶️
boot-simulator-by-udid- Arrancar un simulador directamente usando su UDID⏹️
shutdown-simulator-by-udid- Apagar un simulador directamente usando su UDID📊
list-booted-simulators- Listar todos los simuladores arrancados actualmente
Use este enfoque cuando: Solo desee arrancar, usar y apagar simuladores directamente.
📱 Gestión basada en sesiones (Avanzado)
Estas herramientas utilizan una capa de sesión que rastrea los simuladores con ID de sesión personalizados:
📋
list-simulator-sessions- Listar todas las sesiones de simulador activas➕
create-simulator-session- Crear una nueva sesión de simulador❌
terminate-simulator-session- Terminar una sesión (apaga el simulador y limpia)🔄
create-and-boot-simulator- Crear una nueva sesión de simulador y arrancarla▶️
boot-simulator- Arrancar un simulador para una sesión existente⏹️
shutdown-simulator- Apagar un simulador para una sesión existente
Use este enfoque cuando: Necesite rastrear metadatos del simulador, hacer referencia a simuladores mediante ID personalizados o utilizar las funciones de gestión más avanzadas.
📲 Gestión de aplicaciones
📥
install-app- Instalar una aplicación en un simulador🚀
launch-app- Ejecutar una aplicación en un simulador🛑
terminate-app- Terminar una aplicación en ejecución en un simulador
🖱️ Herramientas de interacción
📷
take-screenshot- Tomar una captura de pantalla de la pantalla del simulador👆
tap-coordinate- Realizar un toque en las coordenadas especificadas
🤖 Ejemplo de uso con Claude Desktop
Configure Claude Desktop para usar este servidor como una herramienta MCP:
Abra Claude Desktop
Vaya a Configuración > Avanzado
Agregue la siguiente configuración a la sección "MCP Servers":
{ "mcpServers": { "simulator": { "command": "node", "args": [ "/path/to/your/mcp-server-ios-simulator/dist/index.js" ] } } }Reemplace
/path/to/yourcon la ruta real donde ha instalado este repositorioGuarde la configuración y reinicie Claude Desktop
Use las herramientas proporcionadas para controlar los simuladores de iOS directamente desde Claude Desktop:
Enfoque de UDID directo (Recomendado):
Primero, pídale a Claude que liste los simuladores disponibles:
"Show me all available iOS simulators"Luego use el UDID para arrancar un simulador específico:
"Boot the iOS simulator with UDID 5272EA61-5796-4372-86FE-3B33831D5CC1"Cuando termine, apáguelo usando el mismo UDID:
"Shut down the simulator with UDID 5272EA61-5796-4372-86FE-3B33831D5CC1"
El enfoque de UDID directo es más simple y confiable para la mayoría de los casos de uso.
**Enfoque basado en sesiones (Avanzado): Solo use este enfoque si necesita las funciones avanzadas de seguimiento de sesiones:
"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"
👨💻 Desarrollo
📁 Estructura del proyecto
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🔨 Construcción del proyecto
# Install development dependencies
npm install
# Run TypeScript compiler
npm run build📜 Licencia
Este proyecto está bajo la Licencia MIT - consulte el archivo LICENSE para obtener más detalles.
🙏 Agradecimientos
📱 appium-ios-simulator por proporcionar las capacidades de interacción con el simulador de iOS
🔌 Protocolo de Contexto de Modelo por la especificación del protocolo y el SDK de TypeScript
Maintenance
Related MCP Servers
- Alicense-qualityDmaintenanceA 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
- Flicense-qualityDmaintenanceEnables 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
- Alicense-qualityDmaintenanceA 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