UStackUStack
WebMCP favicon

WebMCP

WebMCP est une bibliothèque JavaScript open-source permettant aux sites web d'intégrer le Model Context Protocol (MCP) via un widget LLM interactif.

Qu'est-ce que WebMCP ?

WebMCP : Intégrer l'interaction LLM directement sur votre site web

Qu'est-ce que WebMCP ?

WebMCP est une bibliothèque JavaScript innovante et open-source conçue pour combler l'écart entre les applications web traditionnelles et les grands modèles linguistiques (LLM) ou les agents IA avancés via le Model Context Protocol (MCP). En incluant simplement une balise de script, les développeurs peuvent intégrer un petit widget bleu non intrusif dans le coin inférieur droit de leur page web. Ce widget sert de passerelle permettant aux utilisateurs finaux de connecter leur client MCP configuré (comme Claude Desktop) directement au contexte en direct du site web, permettant des interactions sophistiquées et sensibles au contexte.

La proposition de valeur fondamentale de WebMCP réside dans sa capacité à permettre aux LLM d'exécuter des actions, d'accéder à des données de page spécifiques et de s'engager dans des conversations structurées basées sur l'état en temps réel de la page web. Cela transforme la consommation de contenu statique en expériences dynamiques assistées par agent, tout en maintenant le contrôle de l'utilisateur sur la connexion via l'authentification par jeton côté client. C'est l'outil essentiel pour les développeurs souhaitant infuser leurs propriétés web avec des capacités d'IA de nouvelle génération.

Fonctionnalités Clés

WebMCP fournit une API robuste pour une intégration profonde avec les clients MCP, offrant plusieurs capacités puissantes :

  • Enregistrement d'outils LLM : Les développeurs peuvent enregistrer des fonctions JavaScript personnalisées comme outils appelables. Le client LLM peut ensuite invoquer ces outils (par exemple, weather, calculate) en passant des arguments structurés, permettant aux agents d'exécuter des actions directement au nom du site.
  • Modèles d'invite prédéfinis : Standardisez les interactions utilisateur courantes en enregistrant des invites. Ces modèles permettent aux clients de lancer des requêtes complexes (comme générer des messages de validation Git ou résumer du texte) avec des structures prédéfinies et des arguments dynamiques.
  • Exposition de ressources contextuelles : Exposez des données de site web dynamiques ou statiques sous forme de ressources lisibles identifiées par des URI. Cela permet aux LLM d'accéder au HTML de la page actuelle (page://current) ou au contenu d'éléments DOM spécifiques (par exemple, element://my-id) comme contexte pour leurs réponses.
  • Mécanisme d'échantillonnage sécurisé : Implémentez des interactions initiées par le serveur où le LLM demande une complétion basée sur une invite système et un contexte. WebMCP gère la sécurité en présentant une boîte de dialogue modale à l'utilisateur, exigeant une entrée explicite avant de renvoyer la réponse au serveur d'origine, assurant ainsi la confidentialité et la surveillance.
  • Apparence du widget personnalisable : Le widget intégré est hautement configurable, permettant aux développeurs d'ajuster sa couleur, sa position (coin inférieur droit, coin supérieur droit, etc.), sa taille et son rembourrage pour correspondre parfaitement à l'esthétique de conception de leur site web.

Comment Utiliser WebMCP

L'intégration de WebMCP dans un site web est simple pour les développeurs, tandis que l'interaction utilisateur repose sur un client MCP préconfiguré.

Pour les développeurs de sites web (Intégration) :

  1. Inclure le script : Ajoutez la ligne suivante à votre HTML, généralement avant la balise fermante </body> : <script src="webmcp.js"></script>
  2. Initialisation et configuration : Initialisez éventuellement la bibliothèque avec des paramètres personnalisés (couleur, position) immédiatement après avoir inclus le script.
  3. Enregistrer les fonctionnalités : Utilisez mcp.registerTool(), mcp.registerPrompt(), et mcp.registerResource() pour exposer les capacités et les données de votre site aux LLM connectés.

Pour les utilisateurs finaux (Connexion) :

  1. Configurer le client : Assurez-vous que l'utilisateur dispose d'un client MCP (par exemple, Claude Desktop) configuré pour se connecter au point de terminaison du serveur WebMCP (en utilisant la commande npx fournie).
  2. Générer un jeton : L'utilisateur démarre son client MCP et demande un webmcp token.
  3. Se connecter : L'utilisateur clique sur le widget WebMCP bleu sur le site web et colle le jeton généré dans l'invite de connexion.

Cas d'Utilisation

WebMCP débloque une intégration IA puissante dans divers contextes web :

  1. Support produit E-commerce : Un agent LLM, connecté via WebMCP, peut accéder à la ressource page-content pour lire les descriptions et spécifications des produits. Un utilisateur peut alors demander : « D'après cette page, cet ordinateur portable convient-il au montage vidéo ? » L'agent utilise le contexte pour fournir une réponse précise et immédiate sans quitter la page produit.
  2. Documentation et tutoriels interactifs : Pour les sites de documentation logicielle complexes, des outils peuvent être enregistrés pour exécuter des extraits de code ou lancer des simulations. Un utilisateur peut demander à l'agent de « Expliquer la fonction du bloc de code surligné » (en enregistrant une ressource pour l'ID de l'élément sélectionné), et l'agent fournit une explication basée sur le contenu DOM en direct.
  3. Assistance à la saisie de données et aux formulaires : Dans les applications web internes ou les formulaires complexes, des invites peuvent être enregistrées pour standardiser la saisie de données. Par exemple, une invite pourrait être enregistrée pour « Générer un résumé de conformité standardisé » basé sur les champs de données que l'agent peut lire via des ressources enregistrées.
  4. Automatisation des flux de travail par agent : En enregistrant des outils qui interagissent avec des API backend (si exposés de manière sécurisée via le client), un agent pourrait potentiellement initier des flux de travail complexes en plusieurs étapes—tels que « Rédiger un e-mail résumant les chiffres de vente du jour »—où le LLM utilise les ressources contextuelles pour rassembler les données nécessaires avant d'exécuter l'appel d'outil final.

FAQ

Q : WebMCP est-il gratuit à utiliser ? A : Oui, WebMCP est explicitement mentionné comme une bibliothèque JavaScript open-source, ce qui signifie que le code d'intégration de base est librement disponible pour utilisation et modification.

Q : Qu'est-ce que le Model Context Protocol (MCP) et pourquoi est-il nécessaire ? A : MCP est la norme de communication sous-jacente que WebMCP implémente. Il définit comment un site web (le serveur) communique le contexte, les outils et les requêtes à un client LLM externe de manière sécurisée, garantissant que l'interaction est standardisée entre différentes applications clientes.

Q : Dois-je redémarrer mon client MCP chaque fois que j'enregistre un nouvel outil ? A : Il est fortement recommandé de redémarrer le client MCP après avoir enregistré de nouveaux outils ou ressources, en particulier lors de la configuration initiale ou du développement, car certains clients peuvent ne pas mettre à jour dynamiquement leur ensemble d'outils disponibles immédiatement après une connexion par jeton.

Q : Le LLM peut-il accéder à des données utilisateur sensibles sans ma permission ? A : Non. L'interaction est régie par le client MCP. Bien que les ressources puissent exposer le contenu de la page, l'étape critique est la connexion de l'utilisateur via un jeton. De plus, les actions sensibles nécessitant une exécution externe sont gérées via le mécanisme d'Échantillonnage, qui exige explicitement que l'utilisateur fournisse une entrée via une boîte de dialogue modale, maintenant ainsi une surveillance humaine.

Q : Puis-je modifier l'apparence du widget bleu ? A : Absolument. La bibliothèque permet la personnalisation de l'apparence du widget, y compris sa color, sa position (par exemple, 'top-right'), sa size et son padding lors de la phase d'initialisation de l'objet WebMCP.

WebMCP | UStack