WebMCP entmystifiziert: deine Website agent-bereit für E-Commerce und CMS
KI-Agenten werden zu einem echten Teil davon, wie Menschen mit dem Web interagieren. Sie suchen Produkte, füllen Formulare aus, buchen Termine und schließen Käufe ab, alles indem sie in deinem Namen Websites durchsuchen. Aber es gibt ein grundlegendes Problem: Websites sind für Menschen gebaut, nicht für Maschinen.
Ein KI-Agent, der auf deine E-Commerce-Website schaut, sieht ein Durcheinander aus divs, Buttons und Formularen. Er muss raten, was jedes Element tut, was zu langsamen, fehleranfälligen Interaktionen führt. WebMCP löst das, indem es dich genau sagen lässt, was deine Website kann, in einer Sprache, die Agenten verstehen.
WebMCP ist ein neuer Browser-Standard (derzeit im Origin Trial, Chrome 149+), mit dem du die Funktionalität deiner Website als strukturierte "Tools" für KI-Agenten bereitstellen kannst. Keine Backend-Änderungen, keine separaten APIs. Nur deine bestehende Website, agentenfreundlich gemacht.
In diesem Artikel erklären wir, was WebMCP ist, was es für E-Commerce- und CMS-Websites ermöglicht und wie du es nutzen kannst, ob du Entwickler oder Website-Betreiber bist.
Was ist WebMCP?
WebMCP (Web Model Context Protocol) ist ein vorgeschlagener W3C-Standard, der zwei komplementäre APIs zum Registrieren von Tools auf einer Webseite bereitstellt:
- Die imperative API: JavaScript-basierte Tool-Registrierung über
document.modelContext.registerTool() - Die deklarative API: HTML-Attribut-Annotationen auf bestehenden
<form>-Elementen (toolname,tooldescription,toolparamdescription)
Beide APIs dienen demselben Zweck: Sie machen die Fähigkeiten deiner Website für KI-Agenten, die im Browser laufen (Chromiums integrierter Agent, Browser-Erweiterungen oder andere Agenten-Plattformen), auffindbar und ausführbar.
Wie es funktioniert
┌─────────────────────────────────────────────┐
│ Web Browser │
│ ┌───────────────────────────────────────┐ │
│ │ Running Page (your website) │ │
│ │ ┌─────────────────────────────────┐ │ │
│ │ │ WebMCP Tools │ │ │
│ │ │ - search_products() │ │ │
│ │ │ - add_to_cart() │ │ │
│ │ │ - submit_order() │ │ │
│ │ └─────────────────────────────────┘ │ │
│ └───────────────────────────────────────┘ │
│ │ │
│ Browser AI Agent │
└──────────────┼───────────────────────────────┘
│
Agent invokes tools → UI updates visibly
Der entscheidende Unterschied zu traditionellen Backend-Integrationen (wie MCP-Servern) ist, dass WebMCP-Tools im Browser-Tab laufen, auf der Seite, die der Nutzer bereits ansieht. Der Agent agiert auf dem Live-DOM, in der Sitzung des Nutzers, mit vollem Zugriff auf Cookies, Authentifizierungsstatus und Echtzeitdaten.
Was WebMCP für E-Commerce ermöglicht
Suche und Produktentdeckung
Statt dass ein Agent durch Hunderte Produktseiten scrollt, um zu finden, was zu einer Nutzeranfrage passt, lässt ein gut definiertes search_products-Tool den Agenten deinen Katalog direkt abfragen:
await document.modelContext.registerTool({
name: "search_products",
description: "Search the product catalog by category, price range, and features.",
inputSchema: {
type: "object",
properties: {
category: { type: "string", description: "Product category" },
max_price: { type: "number", description: "Maximum price in EUR" },
features: {
type: "array",
items: { type: "string" },
description: "Required features, e.g. ['organic', 'gluten-free']"
}
},
required: ["category"]
},
async execute({ category, max_price, features }) {
const results = await fetch(`/api/products?category=${category}&max_price=${max_price}&features=${features.join(",")}`);
return results.json();
}
});
Ein Nutzer kann dann sagen: "Finde mir Bio-Babynahrung unter 5 € für mein 1-jähriges Kind", und der Agent ruft dein Tool direkt auf und liefert strukturierte Ergebnisse zurück, die deine UI bereits darstellen kann.
Checkout- und Kaufabläufe
WebMCP-Tools können Agenten durch komplexe Checkout-Reisen führen:
| Tool | Zweck |
|---|---|
add_to_wishlist() | Artikel zur Prüfung vor dem Kauf hinzufügen |
apply_discount(code) | Einen Rabattcode anwenden |
select_shipping(method) | Lieferoption wählen |
submit_order() | Den Kauf abschließen |
Das ist besonders wertvoll bei Wiederholungskäufen. Ein Nutzer, der fragt "Bestelle die Kaffeebohnen nach, die ich letzten Monat gekauft habe", kann von einem get_order_history()-Tool bedient werden, das vergangene Bestellungen zurückgibt, gefolgt von add_to_cart() und submit_order().
Kundensupport
Komplexe Support-Abläufe (Garantieansprüche, Rücksendungen, Umtausch) erfordern oft das Navigieren durch mehrere Seiten und Formulare. WebMCP-Tools können:
- zur richtigen Support-Seite navigieren (
start_claim_process()) - bekannte Felder vorausfüllen (
populate_product_details()) - das ausgefüllte Formular absenden (
submit_claim())
Der Nutzer sieht, wie das Formular in Echtzeit auf seinem Bildschirm ausgefüllt wird, was Vertrauen und Sichtbarkeit erhält.
Was WebMCP für CMS ermöglicht
Inhaltssuche und -abruf
Eine CMS-basierte Website kann Suche und Filterung als Tools bereitstellen:
await document.modelContext.registerTool({
name: "search_articles",
description: "Search articles by topic, date, author, or keywords.",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "Search query" },
category: { type: "string", description: "Article category" },
date_from: { type: "string", description: "Start date (YYYY-MM-DD)" },
date_to: { type: "string", description: "End date (YYYY-MM-DD)" }
},
required: ["query"]
},
async execute({ query, category, date_from, date_to }) {
// Query your CMS search index
return await cmsSearch({ query, category, date_from, date_to });
}
});
Formularbasierte Interaktionen
CMS-Websites haben oft Kontaktformulare, Newsletter-Anmeldungen, Event-Registrierungen und Buchungssysteme. Die deklarative API lässt dich diese mit nur wenigen HTML-Attributen in WebMCP-Tools verwandeln, ohne JavaScript.
<form
toolname="book_event"
tooldescription="Register for a public event at our venue."
toolautosubmit
>
<label for="name">Full Name</label>
<input name="name" type="text"
toolparamdescription="Attendee's full name" required />
<label for="email">Email</label>
<input name="email" type="email"
toolparamdescription="Contact email address" required />
<label for="date">Event Date</label>
<input name="date" type="date"
toolparamdescription="Date of the event" required />
<label for="guests">Number of Guests</label>
<select name="guests"
toolparamdescription="Number of attendees (1-50)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5+</option>
</select>
<button type="submit">Register</button>
</form>
Wenn ein Agent dieses Tool aufruft, fokussiert der Browser das Formular, füllt die Felder aus und sendet es mit toolautosubmit automatisch ab. Der Nutzer sieht alles auf dem Bildschirm geschehen.
Inhaltsfilterung und Navigation
Für Websites mit großen Inhaltssammlungen (Nachrichtenportale, Kataloge, Dokumentation) lassen Filter-Tools Agenten Ergebnisse präzise eingrenzen:
await document.modelContext.registerTool({
name: "filter_articles",
description: "Refine article results by reading time, language, or tags.",
inputSchema: {
type: "object",
properties: {
max_read_time: { type: "number", description: "Maximum reading time in minutes" },
language: {
type: "string",
enum: ["en", "fr", "de", "es"],
description: "Article language"
},
tags: {
type: "array",
items: { type: "string" },
description: "Article tags to include"
}
}
},
async execute({ max_read_time, language, tags }) {
// Apply filters to current results
return applyFilters({ max_read_time, language, tags });
}
});
Deklarativ vs. imperativ: Welche solltest du verwenden?
WebMCP bietet zwei APIs. Sie konkurrieren nicht, sie ergänzen sich. So wählst du.
Die deklarative API
Was sie ist: Du fügst HTML-Attribute zu bestehenden <form>-Elementen hinzu. Das war's. Kein JavaScript.
Am besten für:
- Formulare, die bereits existieren und für menschliche Nutzer funktionieren
- Kontaktformulare, Registrierung, Buchung, Suchformulare
- Websites, die mit CMS-Plattformen gebaut sind, die Formular-HTML generieren
- Schnelle Erfolge: Du kannst WebMCP-Unterstützung in Minuten zu einer bestehenden Website hinzufügen
Vorteile:
- Kein JavaScript erforderlich
- Funktioniert mit jedem HTML-Formular
- Einfach neben deinem bestehenden Markup zu pflegen
- Ideal für einfache, strukturierte Datenerfassung
Nachteile:
- Auf formularbasierte Interaktionen beschränkt
- Weniger Kontrolle über die Ausführungslogik
- Kann Tools nicht dynamisch je nach Seitenzustand registrieren/deregistrieren
- Schema-Generierung ist implizit (basierend auf der Formularstruktur)
Verwende sie, wenn: Dein Hauptbedarf darin besteht, Formulare für Agenten zugänglich zu machen. Wenn die wichtigsten Interaktionen deiner Website Formularübermittlungen sind (Kontakt, Buchung, Suche, Registrierung), fang hier an.
Die imperative API
Was sie ist: Du rufst document.modelContext.registerTool() aus JavaScript auf und definierst Tools mit Namen, Beschreibungen, JSON-Schemas und execute-Funktionen.
Am besten für:
- Komplexe Interaktionen jenseits von Formularen (Produktsuche, Warenkorbverwaltung, Filterung)
- Dynamische Tool-Registrierung (Tools, die je nach Kontext erscheinen/verschwinden)
- Tools, die APIs aufrufen, Daten transformieren oder strukturierte Ergebnisse zurückgeben müssen
- Websites, die feinkörnige Kontrolle über das Agentenverhalten brauchen
Vorteile:
- Volle Kontrolle über Tool-Verhalten und Rückgabewerte
- Dynamische Registrierung und Deregistrierung
- Kann Backend-APIs aufrufen, Daten transformieren, JSON zurückgeben
- Reichhaltige JSON-Schema-Unterstützung (Enums, Typen, Validierung)
- Cross-Origin-iframe-Unterstützung mit
exposedTo
Nachteile:
- Erfordert eine JavaScript-Implementierung
- Mehr Entwicklungsaufwand
- Muss das Tool-Lifecycle-Management übernehmen
Verwende sie, wenn: Deine Interaktionen über einfache Formularübermittlungen hinausgehen: E-Commerce-Produktkataloge, dynamische Filterung, mehrstufige Workflows oder jedes Szenario, in dem du strukturierte Daten aus einer Tool-Ausführung zurückgeben musst.
Entscheidungsmatrix
| Szenario | Empfohlene API |
|---|---|
| Kontaktformular, Buchungsformular, Newsletter-Anmeldung | Deklarativ |
| Produktsuche mit Filtern | Imperativ |
| Zum Warenkorb / zur Wunschliste hinzufügen | Imperativ |
| Kundensupport-Formular | Deklarativ oder imperativ |
| Inhaltssuche (CMS) | Imperativ |
| Event-Registrierungsformular | Deklarativ |
| Dynamische Tool-Verfügbarkeit (z. B. Checkout erscheint erst nach Login) | Imperativ |
| Cross-Origin-iframe-Tool-Sharing | Imperativ |
| Schnelles MVP / Prototyp | Deklarativ |
Kannst du beide verwenden?
Absolut. Eine gut gestaltete Website könnte die deklarative API für statische Formulare (Kontakt, Newsletter) und die imperative API für dynamische Interaktionen (Produktsuche, Warenkorbverwaltung) verwenden. Sie koexistieren auf derselben Seite ohne Konflikt.
WebMCP vs. MCP: Keine Konkurrenten, sondern Partner
Es ist wichtig zu verstehen, dass WebMCP kein Ersatz für das Model Context Protocol (MCP) ist. Sie lösen unterschiedliche Probleme:
| Aspekt | MCP (Model Context Protocol) | WebMCP |
|---|---|---|
| Zweck | Macht Daten und Aktionen für Agenten überall und jederzeit verfügbar | Macht eine Live-Website bereit für Interaktion, wenn ein Nutzer sie besucht |
| Lebenszyklus | Persistent (Server/Daemon) | Flüchtig (an Tab gebunden) |
| Konnektivität | Global (Desktop, Mobile, Cloud, Web) | Browser-spezifisch |
| UI-Interaktion | Headless, extern | Browser-integriert, DOM-bewusst |
| Entdeckung | Agenten-spezifische Registrierung | Tools, die während des Besuchs auf der Seite registriert werden |
| Anwendungsfall | Hintergrund-API-Aktionen | Navigieren und Agieren auf einer Live-Web-UI |
Denk es so: MCP ist deine Backend-Service-Schicht: Sie übernimmt Kern-Geschäftslogik, Datenabruf und Hintergrundaufgaben. WebMCP ist deine Frontend-Schicht: Sie verbindet Agenten direkt mit der Website, die der Nutzer ansieht, und ermöglicht kontextuelle Interaktionen im Browser.
Die effektivsten agentischen Anwendungen nutzen beide: MCP für die Schwerarbeit (Daten, Authentifizierung, Geschäftslogik) und WebMCP für die interaktive Erfahrung (UI-Aktion, Echtzeit-Feedback, Human-in-the-Loop-Workflows).
Erste Schritte
Verfügbarkeit
WebMCP ist derzeit in Chrome 149+ über einen Origin Trial verfügbar. Um teilzunehmen:
- Registriere dich für den Origin Trial im Origin-Trial-Portal von Chrome
- Füge das Origin-Trial-Meta-Tag zu deinem HTML hinzu
- Implementiere deine Tools mit einer der beiden APIs
Für die lokale Entwicklung kannst du WebMCP über chrome://flags/#enable-webmcp-testing aktivieren.
Sicherheit
WebMCP-Tools sind eingeschränkt durch:
- Origin-Isolation: Tools funktionieren nur in origin-isolierten Dokumenten
- Permissions Policy: die
tools-Policy ist standardmäßigselfund deaktiviert Tools in Cross-Origin-iframes, sofern nicht explizit mitallow="tools"erlaubt
Tools sind flüchtig: Sie existieren nur, solange die Seite offen ist. Sobald der Nutzer wegnavigiert oder den Tab schließt, verliert der Agent den Zugriff.
Best Practices
- Ein Tool, eine Aufgabe: Jedes Tool sollte eine einzige, klar definierte Aufgabe erfüllen. Vermeide überlappende Tools.
- Klare Benennung: Verwende Verben, die genau beschreiben, was passiert (
create-eventstattstart-event-creation-process). - Positive Beschreibungen: Beschreibe, was ein Tool kann, nicht was es nicht kann.
- Rohe Eingaben akzeptieren: Verlange nicht, dass der Agent Berechnungen durchführt oder Strings formatiert. Lass das Tool das übernehmen.
- Streng im Code validieren, locker im Schema: Schema-Beschränkungen helfen, sind aber nicht garantiert.
- Tool-Lifecycle verwalten: Registriere Tools, wenn sie relevant sind, deregistriere sie, wenn nicht.
- Vertraue dem Agenten: Beschreibe Fähigkeiten, schreibe keine exakten Abläufe vor.
Praxisbeispiele
Google hat mehrere Demos veröffentlicht, die WebMCP in Aktion zeigen:
- Pizza Maker (imperativ): Pizza mit geschichteter Anpassung bestellen
- Flight Search (imperativ, React): Flüge mit komplexen Filtern suchen
- Le Petit Bistro (deklarativ): Restaurantreservierungsformular mit HTML-Annotationen
Diese Demos zeigen die beiden APIs nebeneinander und sind ein großartiger Ausgangspunkt für Experimente.
Wie geht es weiter?
WebMCP ist noch in aktiver Entwicklung. Die Spezifikation wird auf GitHub verfeinert, und Chromes Implementierung kann sich ändern. Auch Angular hat experimentelle Unterstützung für die WebMCP-Tool-Registrierung.
Für Entwickler, die E-Commerce-Plattformen, CMS-Lösungen oder jede Webanwendung bauen, in der KI-Agenten mit nutzerseitigen Seiten interagieren müssen, stellt WebMCP einen grundlegenden Wandel dar: Statt dass Agenten raten, wie deine Website funktioniert, sagt deine Website ihnen genau, was sie kann.
Das Ergebnis sind schnellere, zuverlässigere und transparentere Interaktionen, bei denen der Nutzer immer die Kontrolle behält.
Dieser Artikel basiert auf der offiziellen Chrome-Entwicklerdokumentation, der W3C-WebMCP-Spezifikation und Googles WebMCP-Demos. WebMCP ist ein vorgeschlagener Standard und kann sich ändern.