1 puntos por GN⁺ 5 시간 전 | 2 comentarios | Compartir por WhatsApp
  • El servidor MCP de Safari conecta agentes de programación con una ventana real de Safari, lo que les permite comprobar directamente el estado visible en el navegador durante el desarrollo y la depuración web
  • El agente puede acceder al DOM, solicitudes de red, capturas de pantalla y salida de la consola para verificar resultados de renderizado y la experiencia de usuario que son difíciles de deducir solo a partir del código
  • Reduce los cambios repetitivos entre ventanas y la carga de describir todo en prompts en tareas donde importan las diferencias entre navegadores, como compatibilidad con Safari, rendimiento, accesibilidad y validación de estados de formularios o checkout
  • Ofrece herramientas para controlar pestañas, navegar a URLs, ejecutar JavaScript, consultar solicitudes de red, extraer contenido de páginas, interactuar con el DOM, tomar capturas de pantalla y emular viewport y medios
  • El servidor se ejecuta solo en la máquina local y no realiza llamadas de red por cuenta propia, pero los datos capturados de la página se entregan directamente al agente que el usuario está ejecutando, por lo que es necesario usar agentes confiables

Rol del servidor MCP de Safari

  • Se agregó el servidor MCP de Safari en Safari Technology Preview 247
  • Es un servidor Model Context Protocol para desarrolladores web que conecta agentes con una ventana del navegador Safari
  • Permite que el agente compruebe cómo se renderiza realmente el código en el navegador, reduciendo la brecha entre el análisis del código y la verificación del estado del navegador
  • Cualquier cliente compatible con MCP puede conectarse al servidor MCP de Safari
  • El agente conectado puede reproducir más de cerca el estado que el usuario ve en el navegador
    • Acceso al DOM
    • Acceso a solicitudes de red
    • Acceso a capturas de pantalla
    • Acceso a la salida de la consola

Cómo reduce las iteraciones de depuración

  • La depuración web típica repite un flujo de ver un problema en el navegador, revisar la consola y la pestaña de estilos, y luego volver al código para corregirlo
  • Incluso usando un agente, si tomas una captura de pantalla, describes el problema y la corrección no alcanza, tienes que volver a alternar entre navegador, prompt y agente
  • El servidor MCP de Safari permite que el agente compruebe directamente el estado del navegador, reduciendo los cambios de ventana y la necesidad de escribir prompts detallados
  • Aunque el usuario no describa la situación con un prompt perfecto, el agente puede continuar con la siguiente tarea a partir de la información verificable en Safari

Principales casos de uso

  • Desarrollo web en Safari

    • El agente puede revisar no solo el código, sino también el resultado real del renderizado en Safari
  • Mejora de compatibilidad con Safari

    • Si pruebas solo en un navegador, puedes pasar por alto posibles bugs en otros navegadores
    • El agente puede abrir el sitio en Safari y comprobar computed styles, layout y diferencias respecto del comportamiento esperado
  • Análisis de rendimiento

    • Puede evaluar JavaScript en la página para exponer métricas de rendimiento como navigation timing y resource load time
    • Al encontrar qué partes vuelven lento un sitio, resulta más fácil acotar qué corregir
  • Revisión de accesibilidad

    • Puede detectar problemas comunes de accesibilidad, como labels faltantes, atributos ARIA inadecuados o bajo contrast
  • Validación del estado de usuario

    • Puede comprobar estados de formularios, buscar elementos con selectors, verificar interacciones específicas y mostrar varios estados de un flujo de checkout

Herramientas disponibles

  • browser_console_messages: devuelve los logs de consola almacenados en búfer de la pestaña actual o de una pestaña indicada
  • browser_dialogs: consulta la lista de dialogs del navegador y procesa respuestas
    • admite accept, dismiss y entrada de texto para JavaScript prompt
  • create_tab, close_tab, switch_tab, list_tabs: crea, cierra, cambia y lista pestañas del navegador
  • navigate_to_url: navega a una URL y devuelve el contenido de la página cargada
  • page_info: comprueba la URL, title y loading state de la página actual
  • evaluate_javascript: ejecuta código JavaScript dentro de la página y devuelve el resultado
  • list_network_requests: consulta un resumen de las solicitudes de red de la pestaña actual
    • incluye URL, method, status y timing
  • get_network_request: consulta la información detallada de una sola solicitud de red
    • incluye headers, body y timing
  • get_page_content: extrae el contenido de texto de la página en varios formatos, como markdown, HTML y JSON
  • page_interactions: ejecuta en secuencia interacciones con el DOM como click, type, scroll, hover y keyPress
  • screenshot: captura la página actual como captura PNG
  • set_emulated_media: emula un CSS media type como print para pruebas de responsive design
  • set_viewport_size: configura el tamaño del viewport del navegador en CSS pixels
  • wait_for_navigation: espera a que termine de cargar la página actual y devuelve la URL y el title finales

Cómo empezar

  • Primero hay que instalar Safari Technology Preview
  • Después de instalarlo, hay que activar las siguientes opciones en la configuración de Safari
    • Safari Settings > Advanced > Show features for web developers
    • Safari Settings > Developer > Enable remote automation and external agents
  • Si usas Claude, puedes usar el siguiente comando en la terminal
claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp  
  • Si usas Codex, puedes usar el siguiente comando
codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp  
  • Otros agentes pueden incluir la siguiente configuración en mcp.json o config.json
"safari-mcp-stp": {  
  "command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",  
  "args": ["--mcp"]  
}  
  • En el ejemplo anterior, el nombre del servidor es safari-mcp-stp, pero puedes usar el nombre que prefieras, como safari

Prompts y comportamiento del agente

  • Después de instalarlo, puedes empezar con prompts simples como estos
Find bugs on my site in Safari  
How accessible is my site in Safari?  
See how my website performs in Safari  
  • Aunque cada agente se comporta de forma algo distinta, puede usarlo por su cuenta incluso si no le dices explícitamente que use el servidor MCP de Safari
  • En el flujo de ejemplo, cuando el usuario pregunta por un bug en la página de vuelos de Safari, el agente encuentra dos bugs y revisa elementos adicionales que podrían causar problemas a usuarios de Safari
  • Incluso solo con la solicitud inicial, puede seguir con verificaciones e identificación de problemas con ayuda del servidor MCP de Safari

Ejecución local y manejo de datos

  • El servidor MCP de Safari se ejecuta completamente en la máquina local
  • No realiza llamadas de red por cuenta propia
  • No accede a la información privada de Safari
    • AutoFill
    • Otra actividad del navegador
  • Cuando captura contenido de páginas, capturas de pantalla o logs de consola, esos datos no se envían a Apple, sino directamente al agente que el usuario está ejecutando
  • El manejo posterior de los datos depende del agente y del modelo que se use
  • Al igual que con otros agentes a los que se les da acceso al navegador, solo debes usar agentes en los que confíes

Uso que espera WebKit

  • En el desarrollo web hay formas de trabajar con IA y sin IA
  • Si la IA forma parte del flujo de desarrollo, el servidor MCP de Safari puede ayudar a mejorar la productividad
  • Su objetivo es ayudar a que el agente entienda la pantalla y el comportamiento en el navegador Safari, para facilitar las pruebas y la depuración en Safari
  • Si hay problemas, puedes enviar un issue mediante WebKit bug report

2 comentarios

 
shakespeares 1 시간 전

Safari MCP... me trae recuerdos, jaja

 
GN⁺ 5 시간 전
Opiniones de Hacker News
  • Desde noviembre de 2025 estoy usando el servidor MCP DevTools oficial de Chrome
    https://github.com/ChromeDevTools/chrome-devtools-mcp
    Antes usaba el controlador web de Chrome, pero MCP resultó más rápido y con más funciones
    Para comprobar si también funcionaba en Firefox, le indiqué al LLM que probara la página con el MCP oficial de Firefox
    https://github.com/mozilla/firefox-devtools-mcp
    Ahora también pienso sumar Safari a las pruebas de compatibilidad

    • Me pregunto si hay alguna diferencia entre esto y usar Playwright MCP con configuraciones de Chrome/Firefox
    • A veces quiero lo contrario: en vez de que el LLM controle el navegador, quiero que el LLM pueda ver las acciones que hice manualmente en el navegador
      Creé un MCP para cubrir ese caso de uso
  • Federico Viticci explicó con un poco más de detalle qué significa esto en MacStories, Mastodon y el episodio más reciente del podcast Connected, y lo hizo más accesible para el público general
    También conviene revisar los enlaces del artículo original
    https://www.macstories.net/linked/safaris-new-mcp-server-is-...
    https://mastodon.macstories.net/@viticci/116847167023618099
    https://relay.fm/connected/610

  • Me entusiasma especialmente no solo para pruebas, sino también para tareas cotidianas
    Si un agente puede realizar automatización del navegador de forma natural por mí en un navegador donde ya inicié sesión, el traspaso entre el agente y yo se sentiría mucho más fluido
    También es porque he usado Safari como navegador principal, ya que Chrome consume mucha batería

    • Estoy creando Hyperia, donde un agente puede controlar por completo un panel web basado en Electron y hacer tareas bastante radicales: https://github.com/deepbluedynamics/hyperia
      También uso un orquestador de contenedores de agentes, y hay una herramienta MCP que expone los puertos de los contenedores para mostrar los resultados del trabajo en el panel web: https://github.com/DeepBlueDynamics/nemesis8
      Hoy pienso agregar la conexión de Safari MCP a n8, y esta noche saldrá una nueva versión con más funciones
    • Al leer la frase “no accede a información privada de Safari, como autorrelleno u otra actividad del navegador”, parece significar que la instancia con la que interactúa el agente no tiene sesión iniciada
    • La parte de “el traspaso entre el agente y yo es más fluido” me da miedo
      Porque, desde el punto de vista del servicio del otro lado del navegador, no hay forma de saber quién está haciendo qué
      No sé cómo se limita al agente ni cómo se rastrea qué hice yo y qué hizo el agente
      Me pregunto si me estoy perdiendo algo o si me quedé atrás en el tiempo
  • Personalmente recomiendo Playwright-CLI: https://github.com/microsoft/playwright-cli
    Funcionó mucho más rápido que los servidores MCP que probé

    • Si se necesita una sesión de navegador persistente, también está spel (https://github.com/Blockether/spel)
      Soporta los motores Chromium, Firefox y WebKit mediante un daemon
    • Playwright es excelente para pruebas de extremo a extremo y también encaja bien con Electron
      Aunque yo uso Playwright MCP
    • Todo esto me pareció pesado
      Incluye un navegador completo, el protocolo de depuración y un volcado del DOM cada vez que se lee; más que si es MCP o CLI, importa más qué hay debajo
      Por eso hice un pequeño binario en Rust que ejecuta directamente la webview del sistema y devuelve tokens de estado y deltas en vez del DOM
      Incluso al cargar la portada de HN, al agente le cuesta apenas unos 50 tokens
      Soporta tanto MCP como CLI, así que el agente puede elegir lo que prefiera
      https://github.com/frane/vibesurfer
  • safaridriver, que ofrece Apple, existe desde hace varios años
    Usa WebDriver W3C y se puede usar para interactuar con instancias de Safari

  • No sé si Apple realmente se preocupa por los desarrolladores web
    ¿Cómo se prueba en Safari si no tienes un dispositivo Apple?
    ¿Tan difícil sería para Apple crear una máquina virtual mínima que solo incluya Safari?

    • Preguntar cómo probar Safari sin un dispositivo Apple es parecido a preguntar cómo probar un juego de PlayStation sin una PlayStation
      Es el mismo problema que cómo probar firmware de hardware sin el hardware, o cómo ejecutar un programa sin el hardware necesario cuando no hay emulador ni simulador
      Si algo solo corre en hardware específico y no hay virtualización ni emulación, no se puede probar fuera de ese hardware, y así ha sido durante décadas desde los inicios de la computación
      Las decisiones de Apple muchas veces se definen por estrategia más que por si algo es difícil o fácil, y está bastante claro que están construyendo un jardín amurallado
      Si no te gusta, puedes no jugar ahí, como el resto
    • Aunque Chrome domina, probamos Chromium porque no queremos pasar por alto otros navegadores como Edge
      Del mismo modo, aunque no sea perfecto, se puede probar WebKit, y si quieres también es posible en Linux o Windows:
      https://orionbrowser.com/platforms/linux
      No creo que Apple vaya a entrar al negocio de máquinas virtuales de Safari, pero si necesitas una máquina virtual de macOS, puedes revisar proveedores de servicios en la nube: https://aws.amazon.com/ec2/instance-types/mac/
      Muchos ya tienen conectada de antemano la orquestación de pruebas de software
    • Apple acaba de lanzar esta nueva herramienta, así que se puede decir que sí se preocupa por los desarrolladores web
    • Es lo mismo que como se probaba IE en Linux u OS X
  • Últimamente le estoy pidiendo al agente que ejecute Chrome y se comunique directamente con CDP, y funciona bastante bien

    • Tendría que probar ese enfoque también
      Me da curiosidad cómo se compara con Playwright
      Desde el punto de vista del desarrollo web, la ventaja de Playwright parece ser que se puede usar en varios navegadores
      Si las herramientas específicas de cada navegador son más rápidas o más eficientes en tokens, para automatización de tareas y Claws quizá esa sea una mejor opción
    • Exacto. Ese enfoque funciona mucho mejor que la ruta de MCP y es más rápido
  • “Hay muchas formas de crear la web, con o sin IA. Si la IA forma parte de tu flujo de trabajo, creo que esta herramienta ayudará a mejorar tu productividad. Si no, también está bien.”
    Es raro decir algo así en 2026
    Porque estamos en una época en la que, si escribes código tú mismo y no delegas todo a un agente, algunas personas te tratan como principiante

    • Hace 2 años, lo contrario se consideraba una estupidez
      Ahora está bien que quienes usan IA ya no tengan que ocultarlo
    • No sé qué parte te parece rara
      ¿Lo raro es que hayan tenido que poner este descargo para apaciguar al bando anti-IA fanático?
      Esta es claramente una herramienta para desarrollo asistido por IA, y lo realmente raro es que hayan tenido que agregar una frase tipo “también les mandamos consuelo a quienes no usan IA”
      Pero es raro en un sentido distinto al que tú crees
  • Lo interesante de un MCP para automatización de navegadores es que el motor WebKit de Safari es justo de los que a la mayoría de los agentes de IA les cuesta manejar fácilmente
    Playwright y Puppeteer están centrados en Chromium, así que tener un servidor MCP para Safari puede cubrir un vacío real en las pruebas cross-browser dentro de flujos de trabajo con agentes