Kontent.ai
offiziellErstellen, verwalten und erkunden Sie Ihre Inhalte und Ihr Content-Modell mit natürlicher Sprache in jedem MCP-kompatiblen KI-Tool.
Was kann man mit Kontent Ai MCP machen?
- Create and manage content types — Build or modify structured content models using
create-content-typeandpatch-content-type. - Manage content items and translations — Create, update, search, and delete content items and their language variants with
list-content-item-variantsandupdate-content-item-variant. - Control publishing workflows — Move content through workflow steps, publish, or unpublish variants using
change-content-item-variant-workflow-stepandpublish-content-item-variant. - Organize taxonomies and collections — Create and patch taxonomy groups and collections to structure content with
create-taxonomy-groupandpatch-collections. - Search content by meaning — Find content items using semantic search via
search-content-item-variantswhen you don’t know exact keywords.
Dokumentation
Kontent.ai MCP Server
Transformieren Sie Ihre Content-Prozesse mit KI-gestützten Werkzeugen für Kontent.ai. Erstellen, verwalten und erkunden Sie Ihre strukturierten Inhalte durch natürlichsprachliche Konversationen in Ihrem bevorzugten KI-fähigen Editor.
Der Kontent.ai MCP Server implementiert das Model Context Protocol, um Ihre Kontent.ai-Projekte mit KI-Werkzeugen wie Claude, Cursor und VS Code zu verbinden. Er ermöglicht KI-Modellen, Ihre Inhaltsstruktur zu verstehen und Operationen über natürlichsprachliche Anweisungen auszuführen.
✨ Kernfunktionen
- 🚀 Schnelles Prototyping: Verwandeln Sie Ihre Diagramme in Sekundenschnelle in live Content-Modelle
- 📈 Datenvisualisierung: Visualisieren Sie Ihr Content-Modell in jedem gewünschten Format
Inhaltsverzeichnis
- ✨ Kernfunktionen
- 🔌 Schnellstart
- 🛠️ Verfügbare Werkzeuge
- ⚙️ Konfiguration
- 🔒 Sicherheit
- 🚀 Transportoptionen
- 💻 Entwicklung
- Lizenz
🔌 Schnellstart
🔑 Voraussetzungen
Bevor Sie den MCP-Server nutzen können, benötigen Sie:
- Ein Kontent.ai-Konto – Registrieren, falls Sie noch kein Konto haben.
- Ein Projekt – Projekt erstellen, mit dem Sie arbeiten möchten.
- Management-API-Schlüssel – Schlüssel erstellen mit entsprechenden Berechtigungen.
- Umgebungs-ID – Ihre Umgebungs-ID abrufen.
🛠 Einrichtungsoptionen
Sie können den Kontent.ai MCP Server mit npx ausführen:
STDIO-Transport
npx @kontent-ai/mcp-server@latest stdio
Streamable HTTP-Transport
npx @kontent-ai/mcp-server@latest shttp
🛠️ Verfügbare Werkzeuge
Leitfaden für Patch-Operationen
- get-patch-guide – 🚨 ERFORDERLICH vor jeder Patch-Operation. Leitfaden für Patch-Operationen für Kontent.ai nach Entitätstyp abrufen
Verwaltung von Inhaltstypen
- get-content-type – Kontent.ai-Inhaltstyp anhand der ID abrufen
- list-content-types – Alle Kontent.ai-Inhaltstypen abrufen
- create-content-type – Neuen Kontent.ai-Inhaltstyp erstellen
- patch-content-type – Bestehenden Kontent.ai-Inhaltstyp anhand des Codenamens mit Patch-Operationen aktualisieren (move, addInto, remove, replace)
- delete-content-type – Kontent.ai-Inhaltstyp anhand der ID löschen
Verwaltung von Inhaltstyp-Snippets
- get-content-type-snippet – Kontent.ai-Inhaltstyp-Snippet anhand der ID abrufen
- list-content-type-snippets – Alle Kontent.ai-Inhaltstyp-Snippets abrufen
- create-content-type-snippet – Neues Kontent.ai-Inhaltstyp-Snippet erstellen
- patch-content-type-snippet – Bestehendes Kontent.ai-Inhaltstyp-Snippet anhand der ID mit Patch-Operationen aktualisieren (move, addInto, remove, replace)
- delete-content-type-snippet – Kontent.ai-Inhaltstyp-Snippet anhand der ID löschen
Verwaltung von Taxonomien
- get-taxonomy-group – Kontent.ai-Taxonomiegruppe anhand der ID abrufen
- list-taxonomy-groups – Alle Kontent.ai-Taxonomiegruppen abrufen
- create-taxonomy-group – Neue Kontent.ai-Taxonomiegruppe erstellen
- patch-taxonomy-group – Kontent.ai-Taxonomiegruppe mit Patch-Operationen aktualisieren (addInto, move, remove, replace)
- delete-taxonomy-group – Kontent.ai-Taxonomiegruppe anhand der ID löschen
Verwaltung von Inhaltselementen
- get-content-item – Kontent.ai-Inhaltselement anhand der ID abrufen
- get-content-item-variant – Kontent.ai-Inhaltselementvariante (Sprachversion/Übersetzung) abrufen. Gibt die aktuelle Version zurück – Entwurf, falls vorhanden, andernfalls veröffentlicht
- get-published-content-item-variant-version – Die veröffentlichte Version einer Kontent.ai-Inhaltselementvariante abrufen. Verwenden, wenn eine neuere Entwurfsversion existiert, Sie aber den aktuell veröffentlichten (Live-)Inhalt benötigen
- get-content-item-translations – Alle Übersetzungen eines Kontent.ai-Inhaltselements abrufen – jede Sprachversion (Variante) eines bestimmten Inhaltselements
- list-content-item-variants – Kontent.ai-Inhaltselemente mit Inhaltselementvarianten (Sprachversionen/Übersetzungen) auflisten, filtern, durchsuchen
- create-content-item – Neues Kontent.ai-Inhaltselement erstellen (erstellt nur den Container; verwenden Sie create-content-item-variant, um Sprachversionen/Übersetzungen hinzuzufügen)
- update-content-item – Bestehendes Kontent.ai-Inhaltselement anhand der ID aktualisieren. Das Inhaltselement muss bereits existieren – dieses Werkzeug erstellt keine neuen Elemente
- delete-content-item – Kontent.ai-Inhaltselement anhand der ID löschen
- create-content-item-variant – Kontent.ai-Inhaltselementvariante erstellen und den aktuellen Benutzer als Mitwirkenden zuweisen. Elementwerte müssen die im Inhaltstyp definierten Einschränkungen und Richtlinien erfüllen. Senden Sie nur die Elemente, die Sie setzen möchten; ausgelassene werden leer initialisiert
- update-content-item-variant – Kontent.ai-Inhaltselementvariante eines Inhaltselements aktualisieren. Elementwerte müssen die im Inhaltstyp definierten Einschränkungen und Richtlinien erfüllen. Senden Sie nur die Elemente, die Sie ändern möchten – ausgelassene Elemente bleiben unverändert. Bei Rich-Text-Elementen mit Komponenten übermitteln Sie das vollständige Element (Wert plus das vollständige Komponenten-Array, einschließlich unveränderter Komponenten)
- create-new-content-item-variant-version – Neue Version einer Kontent.ai-Inhaltselementvariante erstellen. Diese Operation erstellt eine neue Version einer bestehenden Inhaltselementvariante, nützlich für Inhaltsversionierung und das Erstellen neuer Entwürfe aus veröffentlichten Inhalten
- delete-content-item-variant – Kontent.ai-Inhaltselementvariante löschen
- bulk-get-content-item-variants – Massenabruf von Kontent.ai-Inhaltselementen mit ihren Inhaltselementvarianten anhand von Element- und Sprachreferenzpaaren. Verwenden nach list-content-item-variants, um vollständige Inhaltsdaten für bestimmte Element+Sprache-Paare abzurufen. Elemente ohne Variante in der angeforderten Sprache geben das Element ohne die Varianteneigenschaft zurück. Gibt paginierte Ergebnisse mit Fortsetzungstoken zurück
- search-content-item-variants – KI-gestützte semantische Suche zum Auffinden von Inhalten nach Bedeutung und Konzepten in einer bestimmten Inhaltselementvariante. Verwenden für: konzeptionelle Suchen, wenn Sie keine exakten Schlüsselwörter kennen. Eingeschränkte Filteroptionen (nur Varianten-ID)
Verwaltung von Assets
- get-asset – Ein bestimmtes Kontent.ai-Asset anhand der ID abrufen
- list-assets – Alle Kontent.ai-Assets abrufen
- update-asset – Kontent.ai-Asset anhand der ID aktualisieren
Verwaltung von Asset-Ordnern
- list-asset-folders – Alle Kontent.ai-Asset-Ordner auflisten
- patch-asset-folders – Kontent.ai-Asset-Ordner mit Patch-Operationen ändern (addInto zum Hinzufügen neuer Ordner, rename zum Ändern von Namen, remove zum Löschen von Ordnern)
Verwaltung von Sprachen
- list-languages – Alle Kontent.ai-Sprachen abrufen (umfasst sowohl aktive als auch inaktive – Eigenschaft is_active prüfen)
- create-language – Neue Kontent.ai-Sprache erstellen (Sprachen werden immer als aktiv erstellt)
- patch-language – Kontent.ai-Sprache mit replace-Operationen aktualisieren (nur aktive Sprachen können geändert werden – zum Aktivieren/Deaktivieren die Kontent.ai-Weboberfläche verwenden)
Verwaltung von Sammlungen
- list-collections – Alle Kontent.ai-Sammlungen abrufen. Sammlungen legen Grenzen für Inhaltselemente in Ihrer Umgebung fest und helfen, Inhalte nach Team, Marke oder Projekt zu organisieren
- patch-collections – Kontent.ai-Sammlungen mit Patch-Operationen aktualisieren (addInto zum Hinzufügen neuer Sammlungen, move zum Umordnen, remove zum Löschen leerer Sammlungen, replace zum Umbenennen)
Verwaltung von Spaces
- list-spaces – Alle Kontent.ai-Spaces abrufen
- create-space – Neuen Kontent.ai-Space zur Verwaltung einer Website oder eines Kanals erstellen
- patch-space – Kontent.ai-Space mit replace-Operationen patchen
- delete-space – Kontent.ai-Space löschen
Verwaltung von Rollen
- list-roles – Alle Kontent.ai-Rollen abrufen. Erfordert Enterprise- oder Flex-Plan mit der Berechtigung „Benutzerdefinierte Rollen verwalten“
Verwaltung von Workflows
- list-workflows – Alle Kontent.ai-Workflows abrufen. Workflows definieren die Phasen des Content-Lebenszyklus und die Übergänge zwischen ihnen
- create-workflow – Neuen Kontent.ai-Workflow mit benutzerdefinierten Schritten, Übergängen, Geltungsbereichen und Rollenberechtigungen erstellen
- update-workflow – Bestehenden Kontent.ai-Workflow anhand der ID aktualisieren. Schritte, Übergänge, Geltungsbereiche und Rollenberechtigungen ändern. Verwendete Schritte können nicht entfernt werden
- delete-workflow – Kontent.ai-Workflow anhand der ID löschen. Der Workflow darf von keinen Inhaltselementen verwendet werden
- change-content-item-variant-workflow-step – Den Workflow-Schritt einer Inhaltselementvariante in Kontent.ai ändern. Diese Operation verschiebt eine Inhaltselementvariante in einen anderen Schritt des Workflows und ermöglicht so das Content-Lebenszyklus-Management, z. B. das Verschieben von Inhalten vom Entwurf zur Überprüfung, von der Überprüfung zur Veröffentlichung usw.
- publish-content-item-variant – Eine Inhaltselementvariante eines Inhaltselements in Kontent.ai veröffentlichen oder planen. Diese Operation kann die Variante entweder sofort veröffentlichen oder für die Veröffentlichung zu einem bestimmten zukünftigen Datum und Uhrzeit mit optionaler Zeitzonenangabe planen
- unpublish-content-item-variant – Veröffentlichung einer Inhaltselementvariante eines Inhaltselements in Kontent.ai aufheben oder planen. Diese Operation kann die Veröffentlichung der Variante entweder sofort aufheben (wodurch sie über die Delivery-API nicht mehr verfügbar ist) oder für die Aufhebung zu einem bestimmten zukünftigen Datum und Uhrzeit mit optionaler Zeitzonenangabe planen
⚙️ Konfiguration
Der Server unterstützt zwei Modi, jeweils an den Transport gebunden:
| Transport | Modus | Authentifizierung | Anwendungsfall |
|---|---|---|---|
| STDIO | Single-Tenant | Umgebungsvariablen | Lokale Kommunikation mit einer einzelnen Kontent.ai-Umgebung |
| Streamable HTTP | Multi-Tenant | Bearer-Token pro Anfrage | Entfernter/gemeinsam genutzter Server für mehrere Umgebungen |
Single-Tenant-Modus (STDIO)
Konfigurieren Sie die Anmeldeinformationen über Umgebungsvariablen:
| Variable | Beschreibung | Erforderlich |
|---|---|---|
| KONTENT_API_KEY | Ihr Kontent.ai-Schlüssel | ✅ |
| KONTENT_ENVIRONMENT_ID | Ihre Umgebungs-ID | ✅ |
| appInsightsConnectionString | Application Insights-Verbindungszeichenfolge für Telemetrie | ❌ |
| projectLocation | Projektstandortkennung für Telemetrie-Tracking | ❌ |
| manageApiUrl | Benutzerdefinierte Basis-URL (für Vorschauumgebungen) | ❌ |
Multi-Tenant-Modus (Streamable HTTP)
Für den Streamable HTTP-Transport werden die Anmeldeinformationen pro Anfrage bereitgestellt:
- Umgebungs-ID als URL-Pfadparameter:
/{environmentId}/mcp - API-Schlüssel über Bearer-Token im Authorization-Header:
Authorization: Bearer <api-key>
Dies ermöglicht es einer einzelnen Serverinstanz, Anfragen für mehrere Kontent.ai-Umgebungen zu bearbeiten, ohne dass Umgebungsvariablen für Anmeldeinformationen erforderlich sind.
| Variable | Beschreibung | Erforderlich |
|---|---|---|
| PORT | Port für HTTP-Transport (Standard: 3001) | ❌ |
| appInsightsConnectionString | Application Insights-Verbindungszeichenfolge für Telemetrie | ❌ |
| projectLocation | Projektstandortkennung für Telemetrie-Tracking | ❌ |
| manageApiUrl | Benutzerdefinierte Basis-URL (für Vorschauumgebungen) | ❌ |
🔒 Sicherheit
Indirekte Prompt-Injektion
Von diesem Server zurückgegebene Inhalte (z. B. ein von einem Redakteur verfasstes Element) können Text enthalten, den ein verbundenes LLM als Anweisungen interpretiert – indirekte Prompt-Injektion. Ein gekaperter Agent könnte zu destruktiven Werkzeugaufrufen (Löschen / Veröffentlichung aufheben / Überschreiben) oder zum Durchsickern unveröffentlichter Entwürfe verleitet werden. Dies ist ein branchenweites, ungelöstes Problem, das der Server durch Transformation der zurückgegebenen Inhalte nicht zuverlässig beheben kann, daher ist die Verteidigung mehrschichtig:
- Verwenden Sie einen Management-API-Schlüssel mit minimalen Rechten. Der Server handelt mit dem Schlüssel, den er erhält. Mit einem schreibgeschützten Schlüssel schlägt ein destruktiver Aufruf eines kompromittierten Agenten einfach an der API-Grenze fehl – die stärkste Kontrolle, da sie unabhängig vom Modellverhalten greift.
- Halten Sie einen Menschen in der Schleife. Jedes Werkzeug trägt MCP-Annotationen – Lesevorgänge sind
readOnlyHint, reine Erstellwerkzeuge sind additiv, und Werkzeuge, die Daten überschreiben oder entfernen, sinddestructiveHint– die konforme Clients nutzen, um Lesevorgänge automatisch zu genehmigen und vor destruktiven Aufrufen nachzufragen. Betreiben Sie den Server mit einem solchen Client und vermeiden Sie unbeaufsichtigte Auto-Genehmigungs-Setups mit einem schreibfähigen Schlüssel. - Fügen Sie eine clientseitige Sperre hinzu, falls Ihr Client dies unterstützt. Einige Clients (z. B. Claude Code Hooks) erlauben es Ihnen, deterministisch vor der Ausführung eines destruktiven Werkzeugs nachzufragen, unabhängig vom Modell. Dies wird lokal konfiguriert; ein Server kann dies nicht erzwingen.
Dies sind Hinweise, keine Garantien. Melden Sie Sicherheitsprobleme vertraulich an [email protected].
🚀 Transportoptionen
📟 STDIO-Transport
Um den Server mit STDIO-Transport auszuführen, konfigurieren Sie Ihren MCP-Client mit:
{
"kontent-ai-stdio": {
"command": "npx",
"args": ["@kontent-ai/mcp-server@latest", "stdio"],
"env": {
"KONTENT_API_KEY": "<management-api-key>",
"KONTENT_ENVIRONMENT_ID": "<environment-id>"
}
}
}
🌊 Streamable HTTP-Transport (Multi-Tenant)
Der streamfähige HTTP-Transport bedient mehrere Kontent.ai-Umgebungen von einer einzigen Serverinstanz aus. Jede Anfrage liefert Anmeldeinformationen über URL-Pfadparameter und Bearer-Authentifizierung.
Starten Sie zuerst den Server:
npx @kontent-ai/mcp-server@latest shttp
VS Code
Erstellen Sie eine .vscode/mcp.json-Datei in Ihrem Arbeitsbereich:
{
"servers": {
"kontent-ai-multi": {
"uri": "http://localhost:3001/<environment-id>/mcp",
"headers": {
"Authorization": "Bearer <management-api-key>"
}
}
}
}
Für eine sichere Konfiguration mit Eingabeaufforderungen:
{
"inputs": [
{
"id": "apiKey",
"type": "password",
"description": "Kontent.ai API Key"
},
{
"id": "environmentId",
"type": "text",
"description": "Environment ID"
}
],
"servers": {
"kontent-ai-multi": {
"uri": "http://localhost:3001/${inputs.environmentId}/mcp",
"headers": {
"Authorization": "Bearer ${inputs.apiKey}"
}
}
}
}
Claude Desktop
Aktualisieren Sie Ihre Claude Desktop-Konfigurationsdatei:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Verwenden Sie mcp-remote als Proxy, um Authentifizierungsheader hinzuzufügen:
{
"mcpServers": {
"kontent-ai-multi": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:3001/<environment-id>/mcp",
"--header",
"Authorization: Bearer <management-api-key>"
]
}
}
}
Claude Code
Fügen Sie den Server über die CLI hinzu:
claude mcp add --transport http kontent-ai-multi \
"http://localhost:3001/<environment-id>/mcp" \
--header "Authorization: Bearer <management-api-key>"
Hinweis: Sie können dies auch in Ihrer Claude Code-Einstellungs-JSON mit den Eigenschaften
urlundheaderskonfigurieren.
[!WICHTIG] Ersetzen Sie
<environment-id>durch Ihre Kontent.ai-Umgebungs-ID (GUID) und<management-api-key>durch Ihren Schlüssel.
💻 Entwicklung
🛠 Lokale Installation
# Clone the repository
git clone https://github.com/kontent-ai/mcp-server.git
cd mcp-server
# Install dependencies
npm ci
# Build the project
npm run build
# Start the server
npm run start:stdio # For STDIO transport
npm run start:shttp # For Streamable HTTP transport
# Start the server with automatic reloading (no need to build first)
npm run dev:stdio # For STDIO transport
npm run dev:shttp # For Streamable HTTP transport
📂 Projektstruktur
src/- Quellcodetools/- MCP-Werkzeugimplementierungenclients/- Kontent.ai API-Client-Setupschemas/- Datenvalidierungsschematautils/- HilfsfunktionenerrorHandler.ts- Standardisierte Fehlerbehandlung für MCP-WerkzeugethrowError.ts- Generisches Fehlerauslösungs-Hilfsmittel
server.ts- Hauptserver-Setup und Werkzeugregistrierungbin.ts- Einzelner Einstiegspunkt, der beide Transporttypen behandelt
🔍 Debugging
Zum Debuggen können Sie den MCP-Inspektor verwenden:
npx @modelcontextprotocol/inspector -e KONTENT_API_KEY=<key> -e KONTENT_ENVIRONMENT_ID=<env-id> node path/to/build/bin.js
Oder verwenden Sie den MCP-Inspektor auf einem laufenden streamfähigen HTTP-Server:
npx @modelcontextprotocol/inspector
Dies bietet eine Weboberfläche zum Inspizieren und Testen der verfügbaren Werkzeuge.
📦 Release-Prozess
Um eine neue Version zu veröffentlichen:
- Erhöhen Sie die Version mit
npm version [patch|minor|major]– dies aktualisiertpackage.json,package-lock.jsonund synchronisiert mitserver.json - Pushen Sie den Commit in Ihren Branch und erstellen Sie einen Pull-Request
- Mergen Sie den Pull-Request
- Erstellen Sie ein neues GitHub-Release mit der Versionsnummer als Name und Tag, unter Verwendung automatisch generierter Release-Notizen
- Die Veröffentlichung des Releases löst einen automatisierten Workflow aus, der auf npm und im GitHub MCP-Registry veröffentlicht
Lizenz
MIT