Automatisation IA, RAG et MCP
3 min de lecture
Par l'équipe d'ingénierie d'UnlockLive IT
A Next.js app registering WebMCP tools for a browser AI agent

Si votre produit repose sur Next.js ou React, WebMCP s’intègre très bien : un outil est une petite fonction, et vos routes API font déjà le vrai travail. Ce guide présente une méthode propre. Vous découvrez le sujet ? Commencez par ce qu’est WebMCP.

Enregistrer les outils dans un composant client

document.modelContext n’existe que dans le navigateur : l’enregistrement se fait donc dans useEffect. N’affichez rien, et passez un AbortSignal pour que les outils disparaissent lorsque le visiteur quitte la page :

'use client';
import { useEffect } from 'react';

export default function SearchTool() {
  useEffect(() => {
    const mc = document.modelContext || navigator.modelContext;
    if (!mc?.registerTool) return undefined; // browsers without WebMCP skip this
    const controller = new AbortController();
    mc.registerTool({
      name: 'search_products',
      description: 'Search the catalog. Returns up to 5 products with price and link.',
      inputSchema: {
        type: 'object',
        properties: { query: { type: 'string' } },
        required: ['query'],
      },
      annotations: { readOnlyHint: true },
      execute: async ({ query }, { signal }) => {
        const res = await fetch('/api/search?q=' + encodeURIComponent(query), { signal });
        return JSON.stringify(await res.json());
      },
    }, { signal: controller.signal });
    return () => controller.abort();
  }, []);
  return null;
}

Ajoutez <SearchTool /> au layout ou à la page où l’outil a du sens. En développement, le Strict Mode de React exécute les effets deux fois, et le nettoyage ci-dessus gère ce cas.

Garder la logique dans une route API

L’outil n’est qu’une fine enveloppe. La validation, les limites et les permissions doivent rester sur le serveur, là où un visiteur ne peut pas les modifier :

// app/api/search/route.js
import { NextResponse } from 'next/server';

export async function GET(request) {
  const q = (request.nextUrl.searchParams.get('q') || '').slice(0, 80);
  if (!q) return NextResponse.json({ error: 'missing_query' }, { status: 400 });
  const items = await searchCatalog(q, { limit: 5 }); // your own function
  return NextResponse.json(items.map(({ name, price, url }) => ({ name, price, url })));
}

Les formulaires comme outils

Pour un formulaire simple, ajoutez toolname et tooldescription à l’élément <form>. React transmet à la page ces attributs inconnus en minuscules. Le navigateur remplit le formulaire et, par défaut, c’est toujours le visiteur qui clique sur le bouton.

Règles de sécurité

  • Commencez en lecture seule. La recherche et les détails d’abord ; signalez-les avec readOnlyHint.
  • Demandez avant d’agir. Signalez les actions de panier, de réservation et de formulaire avec consequentialHint, pour que le visiteur confirme.
  • Vérifiez côté serveur. Le navigateur n’est pas une barrière de sécurité : validez chaque paramètre et chaque permission dans votre backend.
  • Renvoyez le minimum. N’envoyez que ce qu’un client a le droit de voir, jamais de données d’administration ni les informations d’autres clients.

Testez

  1. Utilisez une version récente de Chrome avec WebMCP activé, via l’origin trial ou le flag de test.
  2. Appelez chaque outil avec des paramètres valides et invalides.
  3. Vérifiez que les visiteurs habituels ne voient aucune différence.
  4. Lancez le vérificateur WebMCP gratuit sur la page précise où se trouvent vos outils.

Vous préférez nous le confier ?

Nous ajoutons WebMCP aux produits Next.js et React, de l’audit de préparation gratuit jusqu’aux outils testés. Découvrez nos services d’intégration WebMCP et notre offre de développement Next.js.

Questions fréquentes

Puis-je enregistrer des outils WebMCP dans un React Server Component ?

Non. WebMCP fonctionne dans le navigateur : les outils doivent donc être enregistrés dans un composant client. Un composant serveur peut transmettre des données à ce composant client sous forme de props.

Les outils WebMCP fonctionnent-ils avec le rendu côté serveur ?

Oui. La page est rendue sur le serveur comme d’habitude, et les outils sont enregistrés après l’hydratation. Vérifiez que document.modelContext existe avant de l’utiliser.

Pourquoi mes outils s’enregistrent-ils deux fois en développement ?

En développement, le Strict Mode de React exécute les effets deux fois. Si vous passez un AbortSignal et l’annulez dans le nettoyage de l’effet, le premier enregistrement est retiré.

Existe-t-il un type TypeScript pour WebMCP ?

Oui. La documentation de Chrome renvoie au package npm webmcp-types pour les types de l’API impérative.

Comment nous pouvons vous aider

  • Services d’intégration WebMCPWebMCP development for any stack, from WordPress and Shopify to Next.js, Laravel and Django: search, FAQs and forms offered as secure tools for AI browser agents, with a free audit.
  • Développement Next.jsApplications Next.js 14 / 15 en production avec App Router, Server Components, déploiement edge et livraison orientée TypeScript sur Vercel ou AWS.
  • Développement d'applications web sur mesureDéveloppement d'applications web full-stack sur mesure pour le SaaS, les outils internes, les tableaux de bord et les portails d'entreprise avec React, Next.js, Node, Laravel et Django.

Parlez de votre projet à un ingénieur

Dites-nous ce que vous construisez. Nous répondons sous un jour ouvrable avec un avis franc sur le périmètre, l’approche et l’effort.

Réservez un appel stratégique gratuit

Rédigé par l'équipe d'ingénierie d'UnlockLive IT. UnlockLive IT Limited travaille avec ses clients depuis son siège de Los Angeles et son bureau de Toronto et livre l'ingénierie depuis son centre de livraison de Dhaka. À propos de nous

Articles connexes

Automatisation IA, RAG et MCPWebMCP avec Django et FastAPI : des outils pour agents IA dans vos applications web PythonAutomatisation IA, RAG et MCPWebMCP dans Laravel : ajoutez des outils pour agents IA à votre application PHPAutomatisation IA, RAG et MCPWebMCP pour Shopify : comment préparer votre boutique aux agents IA

Contactez-nous

Remplissez le formulaire ci-dessous et notre équipe reviendra vers vous rapidement pour répondre à votre demande.