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
Aucun commentaire pour le moment.