/ Verzeichnis / Playground / Webiny MCP
● Offiziell webiny 🔑 Eigener Schlüssel nötig

Webiny MCP

von webiny · webiny/webiny-js

Mit Claude mit dem Webiny Headless CMS sprechen — Content-Modelle generieren, Einträge in Masse bearbeiten, Seiten scaffolden, ohne durch die Admin-UI zu klicken.

Webiny ist ein serverless Headless CMS auf AWS, und sein MCP-Server stellt die GraphQL-Admin-API als Agent-Tools bereit. Statt Claude beizubringen, Webiny-GraphQL von Hand zu schreiben, erhält man typisierte Tools für Content-Modelle, Einträge, Page-Builder-Seiten, File-Manager und APW-Publishing-Workflows — alles hinter den eigenen Auth-Tokens.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

webiny-mcp.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "webiny-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "webiny-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@webiny/mcp-server",
          "--api-url",
          "https://your-project.cloudfront.net/cms/manage/en-US",
          "--token",
          "${WEBINY_TOKEN}"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add webiny-mcp -- npx -y @webiny/mcp-server --api-url https://your-project.cloudfront.net/cms/manage/en-US --token ${WEBINY_TOKEN}

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: Webiny MCP

Ein neues Content-Modell aus einer Beschreibung scaffolden

👤 Webiny-Entwickler / Content-Engineers ⏱ ~25 min intermediate

Wann einsetzen: Die PM sagt: Wir brauchen einen Case-Studies-Bereich mit diesen Feldern. Claude soll das in ein Webiny-Modell übersetzen.

Voraussetzungen
  • Webiny-Projekt läuftnpx create-webiny-project auf AWS deployt
  • Personal Access Token — In Admin → Settings → Personal Access Tokens erstellen
Ablauf
  1. MCP verbinden
    Webiny-MCP mit der Manage-API-URL für das dev-Environment hinzufügen. Prüfen, ob bestehende Modelle aufgelistet werden können.✓ Kopiert
    → list_models gibt mindestens die eingebauten Modelle zurück
  2. Modell scaffolden
    Ein CaseStudy-Content-Modell mit folgenden Feldern erstellen: title (text, required), client (text), summary (rich text), heroImage (file ref), publishedAt (datetime), tags (text, multi). Singular: Case Study, Plural: Case Studies.✓ Kopiert
    → create_content_model einmal aufgerufen; Feld-IDs konsistent in camelCase
  3. Beispieleinträge anlegen
    Jetzt 3 Platzhalter-Einträge hinzufügen, damit das Redaktionsteam etwas zum Anschauen hat.✓ Kopiert
    → 3 Einträge via create_entry mit realistischen Platzhalter-Inhalten erstellt

Ergebnis: Ein funktionierendes Modell mit Beispieldaten, in Minuten statt durch Klicken durch die Admin-UI fertig.

Fallstricke
  • Feld-IDs enthalten versehentlich Leerzeichen — Webiny lehnt sie ab; das MCP normalisiert, aber immer vorher vorschauen
  • Falsche Locale in der URL — URL enthält /en-US/ — zur Standard-Locale passen
Kombinieren mit: filesystem

Einträge in Masse aktualisieren, um einen Tippfehler in 200 Case Studies zu beheben

👤 Content Ops ⏱ ~30 min intermediate

Wann einsetzen: Der Rechtsabteilung fiel ein falscher Firmenname in alten Einträgen auf; 200-mal klicken soll vermieden werden.

Ablauf
  1. Betroffene Einträge suchen
    Webiny: CaseStudy-Einträge suchen, die in summary den Text "Acme Corp" enthalten. IDs auflisten.✓ Kopiert
    → search_entries gibt alle übereinstimmenden IDs zurück
  2. Ersetzen Probe-Lauf
    Für jeden den neuen Summary vorschlagen, in dem "Acme Corp" durch "Acme Inc." ersetzt wird. Zuerst 3 Beispiele zeigen.✓ Kopiert
    → 3 Diffs angezeigt, bevor irgendwas geschrieben wird
  3. Anwenden
    Sieht richtig aus. Änderung auf alle passenden Einträge anwenden und neu veröffentlichen.✓ Kopiert
    → update_entry + publish_entry für jeden aufgerufen, mit Fortschrittsanzahl

Ergebnis: Hunderte Einträge in einer Konversation korrigiert und neu veröffentlicht, mit Audit-Trail.

Fallstricke
  • Auto-Publish überspringt Review — Draft + APW-Workflow verwenden — keine Massen-Edits direkt auf Produktion veröffentlichen

Eine Page-Builder-Landingpage aus einem Brief generieren

👤 Marketing-Entwickler ⏱ ~20 min intermediate

Wann einsetzen: Copy ist vorhanden und soll in Webinys Page Builder eingebunden werden, ohne Blöcke zu ziehen.

Voraussetzungen
  • Bestehende Block-Templates — Mindestens Hero-, Features- und CTA-Blöcke definiert haben
Ablauf
  1. Seite zusammenstellen
    Eine Page-Builder-Seite mit dem Titel "Q2 Launch" erstellen, mit Hero + 3 Features + CTA-Blöcken. Inhalt aus /briefs/q2.md befüllen.✓ Kopiert
    → create_page gibt eine Draft-URL zurück
  2. Vorschau und Veröffentlichung
    Die Draft-URL öffnen. Nach Freigabe veröffentlichen.✓ Kopiert
    → publish_page erfolgreich; Seite ist live

Ergebnis: Marketing-Landingpage in ca. 10 Minuten zusammengestellt und live.

Fallstricke
  • Block-Schema-Drift — Immer zuerst list_block_templates ausführen, um verfügbare Varianten zu prüfen
Kombinieren mit: filesystem

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

webiny-mcp + filesystem

Einen Brief aus lokalem Markdown holen und als Seiteninhalt in Webiny einspielen

/briefs/q2.md lesen, dann eine Webiny-Seite mit Hero + Features + CTA und Inhalt aus dem Brief erstellen.✓ Kopiert
webiny-mcp + github

Einen PR mit Modelländerungen öffnen, nachdem Claude sie entworfen hat

Webiny: CaseStudy-Modell erstellen. GitHub: PR öffnen, der das Modell zur Seed-Konfiguration hinzufügt.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
list_content_models (keine) Discovery 1 GraphQL-Aufruf
create_content_model name, fields[] Neuen Bereich scaffolden 1 Aufruf
search_entries model, query, filter? Betroffene Elemente finden 1 Aufruf
create_entry model, data Einzelnen Eintrag schreiben 1 Aufruf
update_entry id, data Bestehenden Eintrag bearbeiten 1 Aufruf
publish_entry id Draft auf Live befördern 1 Aufruf
list_block_templates (keine) Vor dem Zusammenstellen von Seiten 1 Aufruf
create_page title, blocks[] Page-Builder-Authoring 1 Aufruf

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
Gebunden an die AWS-Konto-Limits (Lambda Concurrency, DynamoDB Throughput)
Tokens pro Aufruf
200–3000 je nach Eintraggröße
Kosten in €
Webiny ist kostenloser Open Source; AWS-Rechnung gilt
Tipp
Massenoperationen fächern aus — Lambda-Concurrency-Limits setzen, wenn Kosten-Spitzen vermieden werden sollen

Sicherheit

Rechte, Secrets, Reichweite

Minimale Scopes: personal-access-token mit Content read/write
Credential-Speicherung: Token in Env-Variable; über Admin-UI rotieren
Datenabfluss: Nur der eigene AWS-CloudFront/API-Gateway-Endpunkt
Niemals gewähren: delete-environment tenant-admin

Fehlerbehebung

Häufige Fehler und Lösungen

401 Unauthorized

Token abgelaufen oder falsches Environment. Neuen PAT im Admin generieren

Prüfen: curl -H "Authorization: Bearer $TOKEN" $URL
Feldvalidierung fehlgeschlagen

Feldtypen müssen exakt übereinstimmen — text vs. rich-text vs. long-text. list_content_models zum Prüfen des Schemas verwenden

Lambda-Timeout bei Massenoperation

In Gruppen von 50 batchen; das MCP paginiert Schreibvorgänge nicht automatisch

Alternativen

Webiny MCP vs. andere

AlternativeWann stattdessenKompromiss
Strapi MCPStrapi statt Webiny im EinsatzAnderes CMS; andere Deploy-Story (Container vs. serverless)
Contentful MCPSaaS-CMS statt Self-HostingVendor-Lock-in; kein Open Source

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen