Publication de WebMCP (Web Model Context Protocol)
(developer.chrome.com)- WebMCP est un standard proposé conçu pour permettre aux sites web d’exposer directement des outils structurés aux agents IA dans le navigateur
- Au lieu du scraping d’écran ou de l’inférence du DOM, le web fournit lui-même, sous la forme d’un contrat explicite, les fonctionnalités et les entrées/sorties correspondant à « ce qu’il est possible de faire sur cette page »
- Prend en charge aussi bien les tâches basées sur des formulaires HTML que les interactions JavaScript complexes via une API déclarative et une API impérative
- Structure de contrat permettant à l’agent de découvrir (Discovery) les outils de la page, de décrire les entrées/sorties avec JSON Schema et de partager l’état (State) actuel de la page
- Inclus en early preview dans Chrome 146. Pour l’essayer en avance, il faut rejoindre le Chrome built-in AI Early Preview Program
- Alors que MCP existant est un protocole côté serveur, WebMCP se distingue comme un protocole destiné aux agents IA côté client à l’intérieur du navigateur
Brouillon de la spécification : WebMCP Early Preview
Contexte de l’arrivée de WebMCP
- Dans l’environnement web des agents, la part des tâches réelles effectuées par l’IA pour le compte de l’utilisateur, comme réserver, soumettre, modifier des paramètres ou naviguer, est en hausse
- Le web existant ayant été conçu pour des utilisateurs humains, les agents devaient déduire la signification des boutons ou la structure des formulaires
- Cela entraînait de manière répétée des erreurs de saisie, de mauvais mappages de champs et une fragilité face aux changements d’interface
- WebMCP introduit un contrat d’interaction explicite entre le web et l’agent pour résoudre ces problèmes
- Au lieu de laisser l’agent deviner l’objectif d’un bouton ou la structure d’un formulaire, le site web expose explicitement sa propre interface
- Ce contrat se compose de trois éléments clés :
- Discovery : l’agent consulte de manière standardisée les outils pris en charge par la page (par ex.
checkout,filter_results) - JSON Schema : définition explicite des entrées et des sorties attendues afin de réduire les hallucinations et les malentendus
- State : compréhension partagée du contexte actuel de la page, permettant à l’agent d’identifier les ressources disponibles en temps réel
- Discovery : l’agent consulte de manière standardisée les outils pris en charge par la page (par ex.
Concepts clés de WebMCP
-
Exposition d’outils structurés
- Le site web déclare les fonctionnalités qu’il fournit sous forme d’outils (tools)
- Chaque outil définit clairement son nom, sa description, son schéma d’entrée (
JSON Schema) et son résultat d’exécution - L’agent peut ainsi savoir précisément quoi appeler sans avoir à interpréter le DOM
-
Le contrat plutôt que l’inférence
- Au lieu de deviner la signification des boutons ou d’analyser une interface de calendrier, le web publie directement ses intentions et ses règles
- Les formats d’entrée/sortie étant fixés, cela réduit les hallucinations et les dysfonctionnements
- Même si l’UI change, le comportement de l’agent reste stable tant que le contrat de l’outil est maintenu
Deux modèles d’API
-
API déclarative (Declarative API)
- Il suffit d’ajouter des attributs à un élément HTML
<form>pour le transformer en outil - Les attributs
toolnameettooldescriptionservent à déclarer la signification de l’outil - Les champs du formulaire deviennent directement les paramètres d’entrée de l’outil
- Le navigateur les convertit automatiquement en
JSON Schema - Convient aux tâches simples et répétitives ainsi qu’aux UI existantes basées sur des formulaires
- Il suffit d’ajouter des attributs à un élément HTML
-
API impérative (Imperative API)
- Les outils sont enregistrés directement en JavaScript
- Fournit des API comme
registerTool,provideContext,unregisterTool - Adaptée à la logique complexe, aux branchements conditionnels, au traitement asynchrone et aux comportements basés sur l’état
- Très utile pour les SPA et les applications web avancées
Mode d’interaction entre le navigateur et l’agent
- Quand l’agent appelle un outil, le navigateur met automatiquement le focus sur l’UI concernée et y saisit les données
- Le fait qu’un formulaire ait été invoqué par un agent est indiqué par le flag
agentInvoked - Les événements
toolactivatedettoolcancelsont émis en cas de succès ou d’annulation - Un retour visuel est fourni via les pseudo-classes CSS (
:tool-form-active,:tool-submit-active) - Il devient possible d’unifier le parcours utilisateur humain et celui de l’agent avec un même modèle d’état d’UI
Scénarios d’usage représentatifs
- Sur un site de compagnie aérienne, si l’outil
book_flightest fourni, l’agent peut soumettre directement des informations passager structurées sans interpréter l’UI du calendrier - Sur des portails médicaux ou juridiques, l’outil
submit_applicationpermet de transmettre clairement la signification des champs - Sur une page de paramètres pour développeurs, des outils comme
run_diagnosticspeuvent être exposés pour exécuter automatiquement des menus cachés - Particulièrement efficace dans des domaines comme le support client, l’e-commerce ou les services de voyage, où des saisies très fiables sont nécessaires
Différences entre WebMCP et MCP
- MCP (Model Context Protocol) est un protocole côté serveur, qui nécessite un déploiement serveur séparé
- WebMCP fonctionne à l’intérieur du navigateur et s’intègre directement aux applications web existantes
- Il permet de fournir des fonctionnalités côté client aux agents sans serveur
- La différence essentielle est qu’il s’agit d’une approche centrée frontend, pensée pour un navigateur agentique
État actuel et limites
- Disponible à partir de Chrome 146 avec activation d’un flag
- Ne fonctionne pas en environnement headless et nécessite un contexte de navigation visible
- Il n’existe pas encore de mécanisme permettant de découvrir automatiquement les sites qui fournissent des outils
- La synchronisation de l’état de l’UI reste à la charge du développeur
- Étant encore au stade de preview initiale, l’API peut évoluer et son implémentation comporte encore des frictions
3 commentaires
Cela fait pas mal parler depuis que @firt en a parlé sur X. J’ai mis le lien de Google.
Ils disent que pour l’automatisation de sites web, cela devient possible avec seulement 10 % des tokens nécessaires par rapport à l’analyse de captures d’écran/du DOM.
Cela rejoint aussi l’idée que les logiciels qui permettent d’économiser des coûts en tokens survivront sous la pression de la sélection naturelle.
Si Chrome le pousse, cela arrivera vite aussi dans les autres navigateurs.
On dirait un Swagger pour les agents.