Skip to main content
Glama
rodneyrdx

safari-ios-webinspector-mcp

by rodneyrdx

Safari iOS Web Inspector MCP

Un servidor MCP solo para macOS para inspeccionar y automatizar sesiones de iPhone Safari y iPhone Chrome a través de Safari Web Inspector.

Estado

  • comprobaciones de entorno para macOS, Xcode, idevice_id y ios_webkit_debug_proxy

  • enriquecimiento de dispositivos de confianza con UDIDs físicos y versiones de iOS desde libimobiledevice

  • gestión del ciclo de vida del puente iOS WebKit

  • descubrimiento de dispositivos y páginas a través de ios_webkit_debug_proxy

  • sesiones gestionadas de iPhone Safari a través de safaridriver de Apple

  • sesiones gestionadas de iPhone Safari a través del dominio Automation de WebKit en bruto

  • evaluación en tiempo de ejecución respaldada por protocolo, captura de consola y almacenamiento en búfer de eventos de red

  • toma de instantáneas del DOM y automatización a nivel de página mediante JavaScript inyectado en tiempo de ejecución

  • respaldo de la interfaz de Safari/Web Inspector para detección de fallos, intentos de recarga y capturas de pantalla

  • exportación de paquete de depuración

Limitación actual:

  • El puente se basa ante todo en el protocolo y es pragmático. Normaliza varias formas de eventos de WebKit, pero las diferencias de protocolo de iOS/WebKit pueden reducir las capacidades disponibles por página.

  • En el iPhone real conectado actualmente, las páginas de Safari sanas se degradan a transportMode: broker_only, por lo que la automatización de runtime/página se desactiva intencionadamente y el servidor recurre a flujos de trabajo de evidencia/recuperación.

  • La nueva ruta gestionada safaridriver ofrece una automatización segura solo de navegador en una nueva ventana de automatización de Safari, pero aún no se adjunta a una pestaña de Safari activa existente.

  • La nueva ruta launch_automation_page también ofrece una automatización segura solo de navegador en un nuevo contexto de Automation aislado, pero, al igual que Safari WebDriver, no adopta una pestaña de Safari normal existente.

  • El streaming de consola y red sigue sin estar disponible en el backend gestionado safaridriver.

  • El streaming de consola y red tampoco está disponible en el backend gestionado de Automation en bruto.

Límite de seguridad:

  • este proyecto es solo de navegador por diseño

  • no están dentro del alcance el restablecimiento, la restauración, la mutación de emparejamiento, el firmware ni la automatización general del sistema iPhone

Related MCP server: MCP Safari Server

Instalación

npm install
npm run build

Ejecutar localmente:

npm run dev

Usar como servidor MCP después de compilar:

[mcp_servers.safari-ios-webinspector]
command = "node"
args = ["/absolute/path/to/dist/src/index.js"]

Documentación

Prueba

Ejecutar una prueba de dispositivo real en el iPhone conectado:

npm run shakeout

Capturar una traza del broker en bruto de una página sana:

npm run trace:broker

Probar directamente el shim de Automation de iPhone en bruto:

npm run probe:automation -- --udid <DEVICE_UDID>

Procedencia y privacidad

Este repositorio público contiene una implementación de autoría independiente construida a partir del comportamiento documentado de WebKit y de las interfaces públicas de sus dependencias declaradas. Las notas de investigación enlazan con los proyectos y la documentación originales que guiaron la investigación del protocolo.

No se incluyen identificadores de dispositivos, rutas locales, páginas capturadas, paquetes de depuración ni material específico del cliente o de la aplicación. Las pruebas utilizan datos de dispositivos sintéticos y URLs de example.com.

Licencia

MIT. Véase LICENSE. Los paquetes de terceros permanecen bajo sus respectivas licencias según se declara en package-lock.json y en sus distribuciones.

Related MCP Connectors

Related MCP Servers