Der schnellste Weg zu verstehen, was das Model Context Protocol (MCP) in der Praxis bedeutet, besteht nicht im Lesen seitenlanger theoretischer Spezifikationen oder im Betrachten von Präsentationsfolien. Der schnellste Weg ist das Senden eines einzelnen Requests an eine reale, funktionierende URL im offenen Web:
https://wppoland.com/mcp
Unter dieser Adresse läuft ein produktiver Model Context Protocol-Server auf unserer Website. Sie können JSON-RPC 2.0 per POST an diesen Endpunkt senden. Der Server antwortet sofort mit einer strukturierten, typisierten Datenstruktur. Es ist kein WordPress-Plugin im Dashboard erforderlich, kein API-Schlüssel, keine Gebühr und kein Schreibvorgang in der Datenbank.
Wenn ein KI-Assistent (wie Claude Desktop, Claude Code, Cursor oder ein autonomer Entwickler-Agent) MCP spricht, kann er unsere Systeme direkt abfragen: Welche Leistungen bieten wir tatsächlich an? Welche Technologien werden unterstützt? Wie lautet die kanonische URL für ein Projektbriefing? Was der Assistent nicht tun kann, ist eigenmächtig E-Mails versenden oder unqualifizierte Leads in unser CRM eintragen. Diese Einschränkung ist kein Versäumnis, sondern das Fundament unseres Defense-in-Depth-Sicherheitsmodells.
In diesem ausführlichen Leitfaden analysieren wir die Funktionsweise des Live-MCP-Endpunkts auf wppoland.com, die Architektur unseres Open-Source-Servers woocommerce-mcp, reale geschäftliche Einsatzszenarien für Agenturen und E-Commerce-Unternehmen sowie wichtige Lektionen aus dem Produktivbetrieb (einschließlich der Geschichte eines Trailing Slashes, der unbemerkt 90 % aller Agenten-Requests zerstörte).
Warum ein direkter MCP-Server die Spielregeln verändert
Klassische Webanwendungen verfügen bereits über Schnittstellen. WooCommerce bringt eine ausgereifte REST-API mit. WordPress stellt seit Jahren Endpunkte unter /wp-json/ bereit. Unsere eigene Website publiziert einen maschinenlesbaren Dienstleistungskatalog im JSON-Format unter /api/services.json.
Grosse Sprachmodelle (LLMs) basieren auf probabilistischer Vorhersage von Wortfolgen. Wenn ein Assistent versucht, ein Unternehmen über HTML-Scraping oder veraltete Trainingsdaten zu analysieren, erfindet er häufig nicht existierende Unterseiten, nimmt Dienstleistungen an, die nie angeboten wurden, oder gibt veraltete Kontaktdaten aus.
Das Model Context Protocol (im November 2024 von Anthropic veröffentlicht und heute unter dem Dach der Linux Foundation in der Agentic AI Foundation weiterentwickelt; Spezifikation: modelcontextprotocol.io) löst dieses Problem grundlegend. MCP fungiert als standardisierte Schnittstelle - vergleichbar mit einem USB-Anschluss für KI-Agenten.

So wie ein Notebook dank genormter USB-Ports keinen individuellen Treiber für jeden Tastaturhersteller benötigt, sondern lediglich einen definierten Port und Datenvertrag voraussetzt, braucht ein KI-Assistent ein einheitliches Protokoll zur Werkzeuginteraktion. Ein Werkzeug (Tool) im MCP-Standard ist eine benannte, deterministische Operation mit einem präzise definierten JSON-Schema für Eingabeparameter und vorhersehbaren JSON-Rückgabewerten.
Unterstützt ein KI-Client das Protokoll, kann er sich mit jedem kompatiblen Server verbinden: mit Git-Repositories, Ticket-Systemen, Produktkatalogen oder Agentur-Websites wie wppoland.com.
Die drei Bausteine in der Praxis
Eine MCP-Architektur besteht aus drei interagierenden Komponenten:
- Der MCP-Client: Die Anwendung, mit der der Nutzer interagiert (z. B. Claude Desktop, Claude Code, Cursor IDE, Windsurf). Der Client steuert das Kontextfenster, interpretiert Absichten und entscheidet, wann ein bestimmtes Tool aufgerufen werden soll.
- Der MCP-Server: Ein schlankes Programm oder eine Edge Function (auf wppoland.com eine Cloudflare Pages Function), die Tool-Manifeste deklariert und Ausführungsanfragen verarbeitet. Der Server ist kein WordPress und kein PHP-Plugin.
- Das Tool: Eine einzelne, deterministische Aktion. Auf dem öffentlichen Endpunkt von wppoland.com stehen zwei Tools bereit:
check_servicesundrequest_quote.
Der Ablauf ist geradlinig: Der Client ruft die Werkzeugliste ab (tools/list), das Modell wählt ein Tool und validiert Parameter, der Server führt den Code aus und liefert strukturierte JSON-Daten zurück, und das Modell formuliert eine präzise Antwort für den menschlichen Nutzer.
Schritt-für-Schritt-Interaktion mit dem Live-Endpoint
Sie können den Server direkt aus dem Terminal mit curl ohne zusätzliche KI-Bibliotheken testen:
curl -s -X POST https://wppoland.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Die Antwort liefert das Manifest mit den verfügbaren Tools und deren JSON-Schema-Definitionen:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "check_services",
"description": "List or search WPPoland services catalog with localized canonical URLs.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional search term to filter services"
},
"lang": {
"type": "string",
"enum": ["pl", "en", "de", "nb", "es", "pt-pt"],
"description": "Target language for service titles and URLs"
}
}
}
},
{
"name": "request_quote",
"description": "Get localized contact URL and brief submission instructions.",
"inputSchema": {
"type": "object",
"properties": {
"project_type": {
"type": "string",
"description": "Type of project (e.g. mcp-server-development, woocommerce, audit)"
},
"lang": {
"type": "string",
"enum": ["pl", "en", "de", "nb", "es", "pt-pt"],
"description": "Preferred language for the inquiry"
}
}
}
}
]
}
}

Zusätzlich unterstützt der Server die Browser-Erkennung: Ein GET-Aufruf auf https://wppoland.com/mcp verweist auf die Discovery-Karte:
https://wppoland.com/.well-known/mcp/server-card.json

Diese Datei signalisiert KI-Agenten, dass Streamable HTTP als Transport dient, keine Authentifizierung erforderlich ist und ausschliesslich Fähigkeiten des Typs tools bereitgestellt werden.
Konfiguration in Claude Desktop und Cursor
Die Anbindung des Live-Endpunkts an Entwicklungsumgebungen erfordert lediglich wenige Zeilen Konfiguration.
Konfiguration für Claude Desktop
In der Datei claude_desktop_config.json (unter macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"wppoland": {
"url": "https://wppoland.com/mcp/"
}
}
}
Konfiguration für Cursor IDE
In der Datei .cursor/mcp.json im Arbeitsbereich oder in den globalen Einstellungen:
{
"mcpServers": {
"wppoland": {
"url": "https://wppoland.com/mcp/"
}
}
}

Nach dem Neustart des Assistenten können Sie fragen: “Welche WooCommerce-Entwicklungs- und MCP-Services bietet WPPoland an?”. Der Assistent greift auf check_services mit dem Parameter query: "woocommerce" zu und liefert geprüfte, kanonische Links.
Erkenntnis aus der Praxis: Der Trailing Slash, der 90 % der Anfragen zerstörte
Beim Betrieb eines öffentlichen MCP-Servers an der Edge zeigte sich ein kritisches Fehlermuster im automatisierten Bot-Verkehr.
JSON-RPC über HTTP erfordert POST-Requests mit Payload. Viele Hosting-Umgebungen und Static-Site-Generatoren erzwingen standardmässig 301-Redirects von Pfaden ohne Schrägstrich (/mcp) auf Pfade mit Schrägstrich (/mcp/).
Während Browser 301-Weiterleitungen nahtlos folgen, scheitern viele automatisierte JSON-RPC-Clients:
- Manche Bibliotheken brechen bei Status 301 sofort ab und werten dies als Protokollfehler.
- Andere folgen dem Redirect, wandeln die Anfrage jedoch gemäss HTTP-Konvention in ein GET um und verwerfen den POST-Body vollständig.
Unsere Messungen über drei aufeinanderfolgende Tage zeigten:
- Rund 102 tägliche Agenten-Anfragen an maschinenlesbare Schnittstellen.
- Zwei Drittel des Datenverkehrs trafen
/mcpoder/mcp/. - Auf dem Pfad ohne Slash
/mcpgab es 29 fehlerhafte JSON-RPC-Aufrufe pro Tag gegenüber nur 2 erfolgreichen.
Ein Fix im Funktions-Code griff nicht, da die Hosting-Ebene den 301-Redirect vor der Funktionsausführung auslöste.
Die Lösung: Eine Cloudflare Zone Rule, die POST-Requests an /mcp direkt an die Funktion weiterleitet und einen 200-OK-Status zurückgibt. Binnen 24 Stunden stieg die Erfolgsquote auf 100 %.
Fazit: Herkömmliche Web-Analytics (wie Google Analytics) übersehen solche Ausfälle, da KI-Bots kein JavaScript ausführen. Wer einen MCP-Endpunkt publiziert und nur Pageviews betrachtet, riskiert eine defekte Schnittstelle.
Sicherheitsarchitektur: Warum Read-Only unverzichtbar ist
Shopbetreiber und CTOs fragen zu Recht: “Kann ein KI-Assistent versehentlich Bestellungen stornieren, Preise ändern oder Kundendaten überschreiben?”.
Auf wppoland.com/mcp ist das ausgeschlossen, da der Endpunkt über keinerlei Schreibroutinen verfügt.
Betrachten wir das Tool request_quote:
{
"contact_url": "https://wppoland.com/de/kontakt/?source=mcp",
"method": "web-form",
"note": "Read-only-Endpoint. Senden Sie Ihre Anfrage über das Kontaktformular; dieses Tool versendet keine Nachrichten automatisch.",
"suggested_message": "Angebotsanfrage: MCP-Server-Entwicklung. Bitte Umfang, Zeitplan und Tech-Stack angeben.",
"reply_time": "innerhalb eines Werktages"
}

Warum versendet das Tool keine E-Mails direkt?
- Spamschutz: Ein öffentlicher, schreibender MCP-Endpunkt würde innerhalb weniger Stunden zur Spam-Schleuder.
- Schutz vor Prompt Injection: Manipulierte Prompts können keine Zustandsänderungen erzwingen, wenn der Handler keinen Schreibcode enthält.
- Defense in Depth: Für verbindliche Aktionen leitet der Assistent den Nutzer auf gesicherte Formulare mit Bot-Schutz (Turnstile/reCAPTCHA) weiter.
Der Shop-Zwilling: woocommerce-mcp
Für E-Commerce-Shops haben wir das passende Gegenstück als Open-Source-Paket veröffentlicht:

https://github.com/wppoland/woocommerce-mcp
Unter @wppoland/woocommerce-mcp (npm, MIT-Lizenz) kommuniziert dieser TypeScript-Server mit den offiziellen REST-APIs von WordPress und WooCommerce über Read-only-Schlüssel:

list_products: Produktkatalog durchsuchenget_product: Einzelnes Produkt per ID abrufenlist_orders: Letzte Bestellungen nach Status filternsales_report: Umsätze und Bestellzahlen aggregierensearch_posts: Blogbeiträge und Wissensdatenbank durchsuchen
TypeScript-Implementierung mit Zod-Validierung
import { z } from "zod";
server.registerTool(
"list_orders",
{
title: "List orders",
description: "List recent WooCommerce orders, newest first. Optionally filter by status.",
inputSchema: {
per_page: z.number().int().min(1).max(100).optional(),
status: z.enum([
"any", "pending", "processing", "on-hold",
"completed", "cancelled", "refunded", "failed"
]).optional(),
},
},
async ({ per_page, status }) => {
const cfg = loadConfig(true);
const data = await wc(cfg, "orders", {
per_page: per_page ?? 10,
status,
orderby: "date",
order: "desc",
});
return ok(data.map((order) => ({
id: order.id,
number: order.number,
status: order.status,
total: order.total,
currency: order.currency,
date_created: order.date_created,
item_count: order.line_items?.length ?? 0,
})));
},
);


Zwei Sicherheitsmerkmale sind entscheidend:
- Enum-Absicherung:
z.enumverhindert, dass LLMs ungültige Statuswerte wiealmost-paiderfinden. - Payload-Reduktion: Grosse WooCommerce-JSONs werden auf betriebliche Metadaten reduziert, was Kontext-Tokens spart und DSGVO-relevante Kundendaten schützt.
Detaillierte Tool-Aufrufe mit cURL
Um die Funktionsweise von tools/call in der Praxis zu verstehen, können Sie eine direkte Anfrage an den Server senden:
curl -s -X POST https://wppoland.com/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "check_services",
"arguments": {
"query": "mcp",
"lang": "de"
}
}
}'
Der Server verarbeitet die Anfrage und antwortet mit dem kanonischen Service-Katalog:
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "Gefundene Services (1):\n- Name: MCP-Server-Entwicklung\n ID: mcp-server-development\n URL: https://wppoland.com/de/leistungen/mcp-server-development/\n Beschreibung: Entwicklung von Model Context Protocol Servern für WordPress und WooCommerce."
}
]
}
}
Ebenso liefert der Aufruf von request_quote eine strukturierte Antwort ohne Schreibvorgang:
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"contact_url\": \"https://wppoland.com/de/kontakt/?source=mcp\",\n \"method\": \"web-form\",\n \"reply_time\": \"innerhalb eines Werktages\"\n}"
}
]
}
}
Vier praxiserprobte Einsatzszenarien
Szenario 1: Autonomer Shop-Betriebsassistent
Shop-Manager lassen Bestellungen im Status on-hold automatisiert analysieren und Lagerengpässe prüfen, ohne sich manuell in wp-admin einzuloggen.
Ablauf in natürlicher Sprache:
“Überprüfe die letzten 10 Bestellungen im Status on-hold. Berechne den Gesamtwert und identifiziere betroffene Produkte.”
Interne Tool-Kette:
- Der Assistent ruft
list_orders(status="on-hold", per_page=10)auf. - Der MCP-Server liefert die IDs und Beträge ohne PII-Daten.
- Für relevante Positionen wird
get_product(id=...)aufgerufen. - Der Assistent fasst das Ergebnis in einer strukturierten Tabelle zusammen.
Szenario 2: B2B-Anfrage-Triage für Agenturen
KI-Agenten potenzieller Kunden fragen spezifische Kompetenzen direkt über check_services ab und erhalten passende Briefing-Links mit Lead-Tracking.
Szenario 3: First-Level-Kundensupport im Helpdesk
Support-Mitarbeiter prüfen Lagerbestände und Produktvarianten via Slack-Bot über MCP, ohne Admin-Rechte im WordPress-Backend zu benötigen.
Szenario 4: Content-Orchestrierung bei Headless WordPress
Redaktions-Agenten prüfen via search_posts existierende Themencluster vor der Texterstellung, um SEO-Kannibalisierung zu vermeiden.
Technischer Vergleich: stdio vs. Streamable HTTP vs. SSE
| Merkmal | Stdio Transport | Streamable HTTP (wppoland.com) | Server-Sent Events (SSE) |
|---|---|---|---|
| Einsatzort | Lokal (Desktop / CLI) | Edge Functions / Cloud | Dedizierte Backend-Server |
| Latenz | < 5 ms | 20 - 50 ms (Edge) | 50 - 150 ms (Stateful) |
| Sicherheit | Lokale Prozessgrenzen | Öffentlicher Read-Only-Schutz | Bearer Token / OAuth |
| Setup-Aufwand | Node-Binary lokal | Reine URL im Client | Server-Infrastruktur nötig |
| Wartung | Paketupdates auf Host | Zero-Config für Clients | Persistente Verbindungen |
Was MCP nicht ist
- Kein Frontend-Chat-Widget: MCP dient der Maschine-zu-Maschine-Kommunikation mit KI-Agenten.
- Kein ERP-Ersatz: Die Synchronisation zwischen SAP und WooCommerce erfordert weiterhin deterministische Daten-Pipelines.
- Keine automatische DSGVO-Konformität: Read-only-Schlüssel haben Zugriff auf Bestelldaten; das MCP-Tool muss PII aktiv filtern.
- Kein Ersatz für WordPress-Entwickler: Komplexe Konfigurationen und Theme-Anpassungen erfordern weiterhin Fachwissen.
Produktionsarchitektur: Empfohlene Rollentrennung
Beim Aufbau einer modernen Unternehmensumgebung basierend auf WordPress, WooCommerce und KI-Agenten empfehlen wir eine saubere Dreiteilung der Verantwortlichkeiten:
- Transaktionaler Datenbestand (Catalogue of Record): Verbleibt in der WooCommerce-Datenbank oder im integrierten ERP-System. Ein KI-Modell darf niemals Produktpreise schätzen oder Lagerbestände nach Gutdünken erfinden.
- Redaktionelle Inhaltsebene: Wird in WordPress oder in statischen Markdown/MDX-Dateien gepflegt.
- MCP-Tooling-Ebene: Läuft als isolierte Edge Function (Cloudflare Workers / Pages) mit striktem Rate Limiting und Cloudflare Cache Rules. Dies stellt sicher, dass ein KI-Agent in einer Endlosschleife während saisonaler Peak-Events (z. B. Black Friday) keinesfalls die reguläre Checkout-Performance für menschliche Käufer beeinträchtigt.
Fazit und nächste Schritte
Mit wppoland.com/mcp und woocommerce-mcp auf GitHub wird deutlich: Die Anbindung von WordPress an moderne KI-Agenten gelingt sicher, performant und ohne riskante Schreibzugriffe.
Informieren Sie sich über unsere Angebote zur Entwicklung von MCP-Servern oder testen Sie unseren Endpoint direkt im Terminal.






