- 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
Safari MCP... me trae recuerdos, jaja
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
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
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
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é
Soporta los motores Chromium, Firefox y WebKit mediante un daemon
Aunque yo uso Playwright MCP
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?
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
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
Últimamente le estoy pidiendo al agente que ejecute Chrome y se comunique directamente con CDP, y funciona bastante bien
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
“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
Ahora está bien que quienes usan IA ya no tengan que ocultarlo
¿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