Integrations
Built on top of appium-ios-simulator to provide iOS simulator interaction capabilities for controlling simulator lifecycle and performing actions.
Allows programmatic control of iOS simulators, including starting, stopping, booting, installing and launching apps, taking screenshots, and performing taps on coordinates.
Interacts with Xcode's iOS simulator infrastructure to manage simulator instances and perform operations on iOS devices.
📱 Simulador de servidor MCP para iOS
Un servidor que implementa el Protocolo de contexto de modelo (MCP) para simuladores de iOS, construido sobre appium-ios-simulator y que utiliza el SDK de TypeScript de MCP .
📋 Descripción general
Este proyecto conecta los simuladores de iOS con el Protocolo de Contexto de Modelo (MCP), lo que permite una comunicación estandarizada con las instancias de simuladores de iOS. Permite el control programático de los simuladores de iOS, a la vez que aprovecha el protocolo MCP para lograr 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.
🎬 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 : gestiona 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 Logger : proporciona registro basado en archivos sin interferir con el transporte stdio
✨ Características
- 🚀 Iniciar, detener y administrar instancias del simulador de iOS
- 🔌 Simuladores de arranque y apagado
- 📲 Instalar y ejecutar aplicaciones en simuladores
- 📸 Toma capturas de pantalla de las pantallas del simulador
- 👆 Realizar toques en las 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
⚙️ Configuración
La configuración se maneja a través del archivo src/config.ts
:
Puede personalizar estas configuraciones configurando variables de entorno:
🚀 Uso
🔨 Construyendo e iniciando el servidor
Herramientas MCP
El servidor ofrece dos enfoques distintos para controlar 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
: enumera todos los simuladores disponibles con sus UDID - ▶️
boot-simulator-by-udid
- Arranca un simulador directamente usando su UDID - ⏹️
shutdown-simulator-by-udid
- Apaga un simulador directamente usando su UDID - 📊
list-booted-simulators
- Lista todos los simuladores iniciados actualmente
Utilice este enfoque cuando: simplemente desee iniciar, usar y apagar simuladores directamente.
📱 Gestión basada en sesiones (avanzada)
Estas herramientas utilizan una capa de sesión que rastrea simuladores con ID de sesión personalizados:
- 📋
list-simulator-sessions
- Lista todas las sesiones activas del simulador - ➕
create-simulator-session
- Crea una nueva sesión de simulador - ❌
terminate-simulator-session
- Terminar una sesión (apaga el simulador y lo limpia) - 🔄
create-and-boot-simulator
: crea una nueva sesión de simulador y la inicia - ▶️
boot-simulator
: inicia un simulador para una sesión existente - ⏹️
shutdown-simulator
- Apaga un simulador para una sesión existente
Utilice este enfoque cuando: necesite realizar un seguimiento de metadatos del simulador, hacer referencia a simuladores mediante identificaciones personalizadas o utilizar funciones de gestión más avanzadas.
📲 Gestión de aplicaciones
- 📥
install-app
- Instalar una aplicación en un simulador - 🚀
launch-app
- Inicia una aplicación en un simulador - 🛑
terminate-app
- Finaliza una aplicación en ejecución en un simulador
🖱️ Herramientas de interacción
- 📷
take-screenshot
: toma una captura de pantalla de la pantalla del simulador - 👆
tap-coordinate
- Realiza un toque en las coordenadas especificadas
🤖 Ejemplo de uso con Claude Desktop
- Configure Claude Desktop para utilizar este servidor como una herramienta MCP:
- Abra Claude Desktop
- Vaya a Configuración > Avanzado
- Agregue la siguiente configuración a la sección "Servidores MCP":
Copy- Reemplace
/path/to/your
con la ruta real donde instaló este repositorio - Guarde la configuración y reinicie Claude Desktop
- Utilice las herramientas proporcionadas para controlar simuladores de iOS directamente desde Claude Desktop:Enfoque UDID directo (recomendado):
- Primero, pídele a Claude que enumere los simuladores disponibles:Copy
- Luego use el UDID para iniciar un simulador específico:Copy
- Cuando termine, apáguelo usando el mismo UDID:Copy
El enfoque UDID directo es más simple y confiable para la mayoría de los casos de uso.
Enfoque basado en sesiones (avanzado): utilice este enfoque solo si necesita las funciones avanzadas de seguimiento de sesiones:
Copy - Primero, pídele a Claude que enumere los simuladores disponibles:
👨💻 Desarrollo
📁 Estructura del proyecto
🔨 Construyendo el Proyecto
📜 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
🙏 Agradecimientos
- 📱 appium-ios-simulator para proporcionar las capacidades de interacción del simulador de iOS
- Protocolo de contexto de modelo para la especificación del protocolo y SDK de TypeScript
This server cannot be installed
Un puente entre los simuladores de iOS y el Protocolo de Contexto de Modelo, que permite el control programático de simuladores de iOS a través de interfaces de comunicación estandarizadas.