Safari MCP

officiel

Le serveur Safari MCP permet à votre agent de savoir comment votre code s'affiche réellement dans le navigateur en le connectant à une fenêtre du navigateur Safari.

Que pouvez-vous faire avec Safari MCP ?

  • Inspecter la page actuelle — Demandez à votre agent d'extraire le contenu de la page au format Markdown, HTML ou JSON à l'aide de get_page_content.
  • Déboguer JavaScript et les erreurs de console — Faites récupérer par votre agent les journaux de console mis en mémoire tampon avec browser_console_messages ou exécutez du JavaScript arbitraire via evaluate_javascript.
  • Examiner l'activité réseau — Laissez votre agent lister toutes les requêtes réseau enregistrées (list_network_requests) et inspecter les détails complets des requêtes/réponses avec get_network_request.
  • Vérifier la mise en page et le style — Demandez à votre agent de capturer une screenshot, d'interroger des éléments ou de vérifier les styles calculés pour comparer le rendu par rapport aux attentes.
  • Simuler les modes responsive et d'impression — Demandez à votre agent de redimensionner la fenêtre d'affichage (set_viewport_size) ou d'émuler des types de médias CSS comme « print » (set_emulated_media).
  • Automatiser les interactions avec la page — Faites effectuer par votre agent des séquences de clic, de saisie, de défilement ou de survol à l'aide de page_interactions pour vérifier les états des formulaires et les flux de paiement.

Documentation

Présentation du serveur Safari MCP pour les développeurs web

1er juillet 2026

par Saron Yitbarek

Dans Safari Technology Preview 247, nous présentons le serveur Safari MCP — un serveur Model Context Protocol pour les développeurs web qui rend votre flux de travail de développement et de débogage web plus rapide et plus puissant. Nous savons que les agents sont de plus en plus intégrés au processus de codage et le serveur Safari MCP donne à votre agent la capacité de savoir comment votre code s’affiche réellement dans le navigateur en le connectant à une fenêtre de navigateur Safari.

Tout client compatible MCP peut se connecter au serveur Safari MCP. En connectant votre agent à une fenêtre de navigateur Safari, votre agent peut émuler ce que vos utilisateurs expérimentent, lui donnant les informations nécessaires pour déboguer de manière plus autonome, comme l’accès au DOM, aux requêtes réseau, aux captures d’écran et à la sortie de la console.

Cela accélère votre processus de débogage et vous permet de rester dans le confort de votre terminal, ce qui signifie moins d’allers-retours entre les fenêtres et de saisie d’invites pour déboguer votre code.

Les cas d’usage

Si vous développez pour le web, vous connaissez la danse du débogage. Cela ressemble généralement à ceci :

Vous voyez quelque chose qui ne va pas sur votre site dans le navigateur. Vous ouvrez la console pour le traquer. Vous cliquez sur l’onglet des styles. Vous voyez ce qui est cassé. Vous retournez à votre code pour le corriger. Ou peut-être vous prenez une capture d’écran, détaillez le problème à votre agent et le laissez faire la correction pour vous. Espérons qu’il réussisse, que le bug soit corrigé et que vous puissiez passer à autre chose.

Mais quand ce n’est pas corrigé, vous recommencez le flux de travail — Navigateur. Invite. Agent.

Encore et encore, jusqu’à ce que vous écrasiez enfin le bug.

Quels que soient le navigateur ou les outils que vous utilisez, le flux de travail de débogage implique beaucoup de clics, d’outils et de changements de fenêtres pour une seule correction, mais cela ne doit pas être ainsi. Si vous utilisez déjà des agents dans votre flux de travail de développement, le serveur Safari MCP rend votre débogage plus rapide et plus efficace.

Le serveur Safari MCP permet à votre agent de faire plus de débogage et de dépannage par lui-même. Voici quelques exemples de ce avec quoi il peut aider :

Développement web dans Safari. La prochaine fois que vous développez dans Safari, vous bénéficierez d’un flux de travail amélioré. Votre agent vous aide déjà avec votre code, maintenant il peut faire encore plus en vérifiant comment votre code s’affiche réellement dans Safari.

Améliorer la compatibilité avec Safari. Tester dans un seul navigateur signifie manquer des bugs potentiels dans un autre, offrant à ces utilisateurs une expérience médiocre. Avec le serveur Safari MCP, votre agent peut ouvrir votre site dans Safari, inspecter les styles calculés, vérifier la mise en page et la comparer à ce que vous attendez sans changer de fenêtre.

Analyser les performances. Voyez quelles parties de votre site ralentissent les choses. Le serveur Safari MCP permet à votre agent d’évaluer le JavaScript sur la page pour faire apparaître les métriques de performance, comme le temps de navigation et les temps de chargement des ressources, afin qu’il puisse identifier ce qui ralentit votre site et travailler sur la bonne correction.

Vérifier l’accessibilité. Le serveur Safari MCP permet à votre agent de vérifier les problèmes d’accessibilité courants comme les étiquettes manquantes, les attributs ARIA incorrects et le faible contraste, afin que vous puissiez détecter les problèmes qui impactent vos utilisateurs.

Vérifier tout état utilisateur. Sachez que la page fonctionne et s’affiche comme elle le devrait. Votre agent peut vérifier l’état du formulaire, interroger un élément à l’aide d’un sélecteur, confirmer des interactions spécifiques, montrer différents états d’un flux de paiement, et plus encore. Passez moins de temps sur ces vérifications manuelles et donnez à l’agent les moyens de le faire pour vous.

Ce ne sont là que quelques cas d’usage. Quelle que soit la manière dont vous décidez de l’implémenter, le serveur Safari MCP aide votre agent à faire plus pour vous et à réduire tous les allers-retours que le développement web exige souvent. Un flux de travail plus facile signifie plus de bugs écrasés, des utilisateurs plus heureux et un meilleur produit.

Les outils

Voici les outils disponibles et ce qu’ils font :

OutilDescription
browser_console_messagesRenvoie les journaux de console mis en mémoire tampon pour l’onglet actuel ou spécifié
browser_dialogsListe et répond aux dialogues du navigateur (accepter, refuser ou saisir du texte pour les invites JS)
close_tabFerme un onglet du navigateur par son identifiant
create_tabCrée un nouvel onglet de navigateur, en chargeant éventuellement une URL
evaluate_javascriptExécute du code JavaScript dans la page et renvoie le résultat
get_network_requestObtient tous les détails d’une seule requête réseau enregistrée (en-têtes, corps, temps)
get_page_contentExtrait le contenu textuel d’une page dans divers formats (markdown, HTML, JSON, etc.)
list_network_requestsListe les résumés des requêtes réseau (URL, méthode, statut, temps) pour l’onglet actuel
list_tabsListe tous les onglets ouverts du navigateur avec leurs identifiants et URL
navigate_to_urlNavigue vers une URL et renvoie le contenu de la page chargée
page_infoObtient des informations sur la page actuelle : URL, titre et état de chargement
page_interactionsEffectue des interactions DOM en séquence : clic, saisie, défilement, survol, appui sur une touche, etc.
screenshotCapture une capture d’écran de la page actuelle au format PNG
set_emulated_mediaÉmule un type de média CSS (par exemple « print ») pour les tests de conception réactive
set_viewport_sizeDéfinit la taille de la fenêtre d’affichage du navigateur en pixels CSS
switch_tabPasse à un autre onglet du navigateur par son identifiant
wait_for_navigationAttend que la page actuelle finisse de charger ; renvoie l’URL et le titre finaux

Avec le serveur Safari MCP, vous n’avez plus besoin d’écrire l’invite parfaite, décrivant soigneusement à votre agent ce que vous expérimentez dans le navigateur. Vous pouvez donner à votre agent la capacité de le découvrir par lui-même.

Comment démarrer

Vous devez d’abord installer Safari Technology Preview. Une fois installé, assurez-vous d’activer Safari Settings > Advanced > Show features for web developers. Ensuite, allez dans Safari Settings > Developer > Enable remote automation and external agents.

Si vous utilisez Claude, vous pouvez utiliser la commande suivante dans votre terminal :

claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

Si vous utilisez Codex, vous pouvez utiliser la commande suivante dans votre terminal :

codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

Pour d’autres agents, vous pouvez mettre ce qui suit dans votre mcp.json ou config.json :

"safari-mcp-stp": {
  "command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",
  "args": ["--mcp"] 
}

Notez que bien que le code ci-dessus nomme le serveur safari-mcp-stp, vous pouvez le nommer comme vous le souhaitez, même simplement safari. Une fois le serveur Safari MCP installé, essayez l’une des invites suivantes :

Find bugs on my site in Safari

How accessible is my site in Safari?

See how my website performs in Safari

Bien que chaque agent fonctionne un peu différemment, il ne devrait pas avoir besoin qu’on lui dise explicitement d’utiliser le serveur Safari MCP — il le découvrira par lui-même. Des invites simples comme celles ci-dessus suffisent pour lancer le MCP.

Voici comment une conversation avec un agent utilisant le serveur Safari MCP pourrait se dérouler :

Vous : J’ai un rapport de bug — quelque chose est cassé dans Safari sur la page des vols. Peux-tu comprendre ce qui se passe ?

Agent : Bien sûr, laisse-moi jeter un coup d’œil.

Agent : J’ai trouvé deux bugs distincts sur la page des vols dans Safari. Veux-tu que je les corrige tous les deux ?

Vous : Oui. Y a-t-il autre chose ici qui pourrait causer des problèmes aux utilisateurs de Safari ?

Agent : Oui, deux autres choses à signaler. L’animation des résultats est silencieusement cassée et le journal de démarrage du serveur API est incorrect. Dois-je m’occuper des deux également ?

Tout ce dont vous avez besoin est une demande initiale pour commencer, et avec l’aide du serveur Safari MCP, votre agent peut prendre le relais à partir de là.

Le serveur Safari MCP s’exécute entièrement sur votre machine locale et n’effectue aucun appel réseau par lui-même. Il n’a pas non plus accès à vos informations personnelles dans Safari (par exemple, le remplissage automatique ou d’autres activités du navigateur). Lorsqu’il capture le contenu de la page, des captures d’écran ou des journaux de console, ces données vont directement à l’agent que vous exécutez — pas à Apple. Ce qu’il advient de ces données dépend de l’agent et du modèle que vous utilisez. Comme pour tout agent auquel vous donnez accès à votre navigateur, n’utilisez que ceux en qui vous avez confiance.

Pourquoi nous avons construit cela

Il existe de nombreuses façons de développer pour le web, avec et sans IA. Si l’IA fait partie de votre flux de travail, nous pensons que cet outil contribuera à le rendre encore plus productif. Et si ce n’est pas le cas, c’est très bien aussi.

En créant cette ressource, nous espérons rendre plus facile que jamais le test et le débogage dans Safari en aidant votre agent à comprendre comment les choses apparaissent et fonctionnent dans le navigateur.

Si vous finissez par l’essayer ou si c’est la première fois que vous utilisez un serveur MCP, faites-nous savoir ce que vous en pensez.

Retrouvez-nous en ligne : Saron Yitbarek sur BlueSky, Jen Simmons sur Bluesky / Mastodon, et Jon Davis sur Bluesky / Mastodon. Si vous rencontrez des problèmes, déposez un rapport de bug WebKit. Signaler les problèmes fait vraiment la différence.