KI-Automatisierung, RAG & MCP
3 Min. Lesezeit
Vom Engineering-Team von UnlockLive IT
A Next.js app registering WebMCP tools for a browser AI agent

Wenn Ihr Produkt auf Next.js oder React läuft, passt WebMCP sehr gut: Ein Tool ist eine kleine Funktion, und die eigentliche Arbeit erledigen bereits Ihre API-Routen. Dieser Leitfaden zeigt ein sauberes Muster. Ist das Thema neu für Sie? Lesen Sie zuerst, was WebMCP ist.

Tools in einer Client Component registrieren

document.modelContext gibt es nur im Browser, deshalb gehört die Registrierung in useEffect. Rendern Sie nichts und übergeben Sie ein AbortSignal, damit die Tools verschwinden, wenn der Besucher die Seite verlässt:

'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;
}

Fügen Sie <SearchTool /> in das Layout oder die Seite ein, wo das Tool sinnvoll ist. Der Strict Mode von React führt Effects in der Entwicklung zweimal aus; die Aufräumfunktion oben fängt das ab.

Die Logik in einer API-Route halten

Das Tool ist nur eine dünne Hülle. Prüfungen, Limits und Berechtigungen gehören auf den Server, wo ein Besucher sie nicht ändern kann:

// 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 })));
}

Formulare als Tools

Für ein einfaches Formular ergänzen Sie toolname und tooldescription im Element <form>. React gibt diese unbekannten, kleingeschriebenen Attribute an die Seite weiter. Der Browser füllt das Formular aus, und den Button klickt standardmäßig weiterhin der Besucher.

Sicherheitsregeln

  • Starten Sie mit reinem Lesezugriff. Zuerst Suche und Details; kennzeichnen Sie diese mit readOnlyHint.
  • Fragen Sie vor dem Handeln. Kennzeichnen Sie Warenkorb-, Buchungs- und Formularaktionen mit consequentialHint, damit der Besucher bestätigt.
  • Prüfen Sie auf dem Server. Der Browser ist keine Sicherheitsgrenze. Prüfen Sie deshalb jede Eingabe und jede Berechtigung in Ihrem Backend.
  • Geben Sie wenig zurück. Senden Sie nur, was ein Kunde sehen darf, niemals Admin-Daten oder Datensätze anderer Kunden.

Testen

  1. Nutzen Sie ein aktuelles Chrome mit aktiviertem WebMCP, über den Origin Trial oder das Test-Flag.
  2. Rufen Sie jedes Tool mit gültigen und ungültigen Eingaben auf.
  3. Prüfen Sie, dass normale Besucher keine Änderung bemerken.
  4. Prüfen Sie genau die Seite, auf der Ihre Tools liegen, mit dem kostenlosen WebMCP-Checker.

Sollen wir das für Sie übernehmen?

Wir bringen WebMCP in Next.js- und React-Produkte – vom kostenlosen Readiness-Check bis zu getesteten Tools. Sehen Sie sich unsere WebMCP-Integrationsservices und unsere Next.js-Entwicklung an.

Häufig gestellte Fragen

Kann ich WebMCP-Tools in einer React Server Component registrieren?

Nein. WebMCP läuft im Browser, deshalb müssen Tools in einer Client Component registriert werden. Eine Server Component kann dieser Client Component Daten als Props übergeben.

Funktionieren WebMCP-Tools mit Server-Side Rendering?

Ja. Die Seite wird wie gewohnt auf dem Server gerendert, und die Tools werden nach der Hydration registriert. Prüfen Sie vor der Nutzung, ob document.modelContext vorhanden ist.

Warum werden meine Tools in der Entwicklung doppelt registriert?

Der Strict Mode von React führt Effects in der Entwicklung zweimal aus. Wenn Sie ein AbortSignal übergeben und es in der Aufräumfunktion des Effects abbrechen, wird die erste Registrierung entfernt.

Gibt es einen TypeScript-Typ für WebMCP?

Ja. Die Dokumentation von Chrome verweist auf das npm-Paket webmcp-types mit Typen für die imperative API.

So können wir helfen

  • WebMCP-IntegrationsservicesWebMCP 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.
  • Next.js-EntwicklungProduktive Next.js-14/15-Anwendungen mit App Router, Server Components, Edge-Deployment und TypeScript-first-Lieferung auf Vercel oder AWS.
  • Individuelle WebanwendungsentwicklungIndividuelle Full-Stack-Webanwendungsentwicklung für SaaS, interne Tools, Dashboards und Unternehmensportale mit React, Next.js, Node, Laravel und Django.

Sprechen Sie mit einem Entwickler über Ihr Projekt

Erzählen Sie uns, was Sie entwickeln. Wir antworten innerhalb eines Werktags mit einer ehrlichen Einschätzung zu Umfang, Vorgehen und Aufwand.

Kostenloses Strategiegespräch buchen

Verfasst vom Engineering-Team von UnlockLive IT. UnlockLive IT Limited arbeitet mit Kunden über den Hauptsitz in Los Angeles und das Büro in Toronto und liefert die Entwicklung aus dem Delivery-Center in Dhaka. Über uns

Verwandte Artikel

KI-Automatisierung, RAG & MCPWebMCP mit Django und FastAPI: KI-Agenten-Tools für Python-Web-AppsKI-Automatisierung, RAG & MCPWebMCP in Laravel: KI-Agenten-Tools für Ihre PHP-AppKI-Automatisierung, RAG & MCPWebMCP für Shopify: So machen Sie Ihren Shop bereit für KI-Agenten

Kontaktieren Sie uns

Füllen Sie das untenstehende Formular aus, und unser Team meldet sich in Kürze bei Ihnen, um Ihre Anfrage zu bearbeiten.