42 points par xguru 2026-02-11 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • 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

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 toolname et tooldescription servent à 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
  • 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 toolactivated et toolcancel sont é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_flight est 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_application permet de transmettre clairement la signification des champs
  • Sur une page de paramètres pour développeurs, des outils comme run_diagnostics peuvent ê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.

Aucun commentaire pour le moment.