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?
- Inhaltsstruktur erkunden — Bitten Sie darum, Inhaltstypen, Snippets, Taxonomien oder Assets über
list-content-types,list-content-type-snippets,list-taxonomy-groupsoderlist-assetsaufzulisten. - Content-Modelle erstellen und ändern — Weisen Sie den Assistenten an, neue Inhaltstypen, Snippets oder Taxonomiegruppen zu erstellen oder sie mit
create-content-type,patch-content-typeoderpatch-taxonomy-groupzu aktualisieren. - Content-Elemente und Varianten verwalten — Lassen Sie den Assistenten Content-Elemente und deren Sprachvarianten mit
list-content-item-variants,update-content-item-variantodersearch-content-item-variantserstellen, aktualisieren, suchen oder abrufen. - Veröffentlichung und Workflows steuern — Bitten Sie darum, Inhalte mit
publish-content-item-variant,change-content-item-variant-workflow-stepodercancel-scheduled-publishing-content-item-variantzu veröffentlichen, die Veröffentlichung zurückzuziehen, zu planen oder durch Lebenszyklusphasen zu bewegen. - Umgebungseinstellungen verwalten — Weisen Sie den Assistenten an, Sprachen, Sammlungen, Räume oder Workflows mit
create-language,patch-collections,create-spaceodercreate-workflowzu verwalten.
Dokumentation
Kontent.ai MCP Server
Transformieren Sie Ihre Content-Operationen mit KI-gestützten Tools für Kontent.ai. Erstellen, verwalten und erkunden Sie Ihre strukturierten Inhalte durch Gespräche in natürlicher Sprache in Ihrem bevorzugten KI-fähigen Editor.
Der Kontent.ai MCP Server implementiert das Model Context Protocol, um Ihre Kontent.ai-Projekte mit KI-Tools wie Claude, Cursor und VS Code zu verbinden. Er ermöglicht KI-Modellen, Ihre Inhaltsstruktur zu verstehen und Operationen über Anweisungen in natürlicher Sprache auszuführen.
✨ Hauptfunktionen
- 🚀 Schnelles Prototyping: Verwandeln Sie Ihre Diagramme in Sekundenschnelle in Live-Inhaltsmodelle
- 📈 Datenvisualisierung: Visualisieren Sie Ihr Inhaltsmodell in jedem gewünschten Format
Inhaltsverzeichnis
- ✨ Hauptfunktionen
- 🔌 Schnellstart
- 🛠️ Verfügbare Tools
- ⚙️ Konfiguration
- 🔒 Sicherheit
- 🚀 Transportoptionen
- 💻 Entwicklung
- Lizenz
🔌 Schnellstart
🔑 Voraussetzungen
Bevor Sie den MCP-Server verwenden können, benötigen Sie:
- Ein Kontent.ai-Konto – Registrieren Sie sich, wenn Sie noch kein Konto haben.
- Ein Projekt – Erstellen Sie ein Projekt, mit dem Sie arbeiten möchten.
- Management-API-Schlüssel – Erstellen Sie einen Schlüssel mit entsprechenden Berechtigungen.
- Umgebungs-ID – Ermitteln Sie Ihre Umgebungs-ID.
🛠 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 Tools
Patch-Operations-Anleitung
- get-patch-guide – 🚨 ERFORDERLICH vor jeder Patch-Operation. Patch-Operations-Anleitung für Kontent.ai nach Entitätstyp abrufen
Verwaltung von Inhaltstypen
- get-content-type – Kontent.ai-Inhaltstyp nach ID abrufen
- list-content-types – Alle Kontent.ai-Inhaltstypen abrufen
- create-content-type – Neuen Kontent.ai-Inhaltstyp erstellen
- patch-content-type – Vorhandenen Kontent.ai-Inhaltstyp per Codename mit Patch-Operationen aktualisieren (move, addInto, remove, replace)
- delete-content-type – Kontent.ai-Inhaltstyp nach ID löschen
Verwaltung von Inhaltstyp-Snippets
- get-content-type-snippet – Kontent.ai-Inhaltstyp-Snippet nach 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 – Vorhandenes Kontent.ai-Inhaltstyp-Snippet nach ID mit Patch-Operationen aktualisieren (move, addInto, remove, replace)
- delete-content-type-snippet – Kontent.ai-Inhaltstyp-Snippet nach ID löschen
Taxonomieverwaltung
- get-taxonomy-group – Kontent.ai-Taxonomiegruppe nach 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 nach ID löschen
Content-Item-Verwaltung
- get-content-item – Kontent.ai-Content-Item nach ID abrufen
- get-content-item-variant – Kontent.ai-Content-Item-Variante abrufen (Sprachversion/Übersetzung). 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-Content-Item-Variante abrufen. Verwenden Sie dies, wenn eine neuere Entwurfsversion existiert, Sie aber den aktuell veröffentlichten (Live-)Inhalt benötigen
- get-content-item-translations – Alle Kontent.ai-Content-Item-Übersetzungen abrufen – jede Sprachversion (Variante) eines bestimmten Content-Items
- list-content-item-variants – Kontent.ai-Content-Items mit Content-Item-Varianten (Sprachversionen/Übersetzungen) auflisten, filtern und durchsuchen
- create-content-item – Neues Kontent.ai-Content-Item erstellen (erstellt nur den Container; verwenden Sie create-content-item-variant, um Sprachversionen/Übersetzungen hinzuzufügen)
- update-content-item – Vorhandenes Kontent.ai-Content-Item nach ID aktualisieren. Das Content-Item muss bereits existieren – dieses Tool erstellt keine neuen Items
- delete-content-item – Kontent.ai-Content-Item nach ID löschen
- create-content-item-variant – Kontent.ai-Content-Item-Variante 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 festlegen möchten; ausgelassene werden leer initialisiert
- update-content-item-variant – Kontent.ai-Content-Item-Variante eines Content-Items 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. Für Rich-Text-Elemente 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-Content-Item-Variante erstellen. Diese Operation erstellt eine neue Version einer vorhandenen Content-Item-Variante, nützlich für Inhaltsversionierung und das Erstellen neuer Entwürfe aus veröffentlichten Inhalten
- delete-content-item-variant – Kontent.ai-Content-Item-Variante löschen
- bulk-get-content-item-variants – Kontent.ai-Content-Items mit ihren Content-Item-Varianten per Stapelabruf nach Item- und Sprachreferenzpaaren abrufen. Verwenden Sie dies nach list-content-item-variants, um vollständige Inhaltsdaten für bestimmte Item+Sprach-Paare abzurufen. Items ohne Variante in der angeforderten Sprache werden ohne die Varianten-Eigenschaft zurückgegeben. Liefert paginierte Ergebnisse mit Fortsetzungs-Token
- search-content-item-variants – KI-gestützte semantische Suche zum Finden von Inhalten nach Bedeutung und Konzepten in einer bestimmten Content-Item-Variante. Verwenden Sie dies für: konzeptionelle Suchen, wenn Sie keine genauen Schlüsselwörter kennen. Eingeschränkte Filteroptionen (nur Varianten-ID)
Asset-Verwaltung
- get-asset – Ein bestimmtes Kontent.ai-Asset nach ID abrufen
- list-assets – Alle Kontent.ai-Assets abrufen
- update-asset – Kontent.ai-Asset nach ID aktualisieren
Asset-Ordner-Verwaltung
- 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 Umbenennen, remove zum Löschen von Ordnern)
Sprachverwaltung
- list-languages – Alle Kontent.ai-Sprachen abrufen (enthält aktive und inaktive – prüfen Sie die Eigenschaft is_active)
- 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 verwenden Sie die Kontent.ai-Weboberfläche)
Sammlungsverwaltung
- list-collections – Alle Kontent.ai-Sammlungen abrufen. Sammlungen setzen Grenzen für Content-Items in Ihrer Umgebung 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 Umsortieren, remove zum Löschen leerer Sammlungen, replace zum Umbenennen)
Space-Verwaltung
- list-spaces – Alle Kontent.ai-Spaces abrufen
- create-space – Neuen Kontent.ai-Space zum Verwalten einer Website oder eines Kanals erstellen
- patch-space – Kontent.ai-Space mit Replace-Operationen patchen
- delete-space – Kontent.ai-Space löschen
Rollenverwaltung
- list-roles – Alle Kontent.ai-Rollen abrufen. Erfordert Enterprise- oder Flex-Plan mit der Berechtigung „Benutzerdefinierte Rollen verwalten"
Workflow-Verwaltung
- list-workflows – Alle Kontent.ai-Workflows abrufen. Workflows definieren die Phasen des Inhaltslebenszyklus und die Übergänge zwischen ihnen
- create-workflow – Neuen Kontent.ai-Workflow mit benutzerdefinierten Schritten, Übergängen, Bereichen und Rollenberechtigungen erstellen
- update-workflow – Vorhandenen Kontent.ai-Workflow nach ID aktualisieren. Schritte, Übergänge, Bereiche und Rollenberechtigungen ändern. Schritte, die in Verwendung sind, können nicht entfernt werden
- delete-workflow – Kontent.ai-Workflow nach ID löschen. Der Workflow darf von keinem Content-Item verwendet werden
- change-content-item-variant-workflow-step – Den Workflow-Schritt einer Content-Item-Variante in Kontent.ai ändern. Diese Operation verschiebt eine Content-Item-Variante zu einem anderen Schritt im Workflow und ermöglicht so die Verwaltung des Inhaltslebenszyklus, z. B. das Verschieben von Inhalten von Entwurf zu Überprüfung, von Überprüfung zu veröffentlicht usw.
- publish-content-item-variant – Eine Content-Item-Variante eines Content-Items 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 Zeitpunkt mit optionaler Zeitzonenangabe planen
- unpublish-content-item-variant – Die Veröffentlichung einer Content-Item-Variante eines Content-Items in Kontent.ai zurücknehmen oder planen. Diese Operation kann die Variante entweder sofort zurückziehen (wodurch sie über die Delivery API nicht mehr verfügbar ist) oder die Rücknahme zu einem bestimmten zukünftigen Datum und Zeitpunkt mit optionaler Zeitzonenangabe planen
- cancel-scheduled-publishing-content-item-variant – Die geplante Veröffentlichung einer Content-Item-Variante in Kontent.ai abbrechen. Diese Operation setzt eine für die Veröffentlichung geplante Variante auf ihren vorherigen Workflow-Schritt zurück und ermöglicht weitere Bearbeitungen
⚙️ Konfiguration
Der Server unterstützt zwei Modi, die jeweils an ihren Transport gebunden sind:
| Transport | Modus | Authentifizierung | Anwendungsfall |
|---|---|---|---|
| STDIO | Single-Tenant | Umgebungsvariablen | Lokale Kommunikation mit einer einzelnen Kontent.ai-Umgebung |
| Streamable HTTP | Multi-Tenant | Bearer-Token pro Anfrage | Remote-/gemeinsamer Server für mehrere Umgebungen |
Single-Tenant-Modus (STDIO)
Konfigurieren Sie 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)
Beim Streamable-HTTP-Transport werden 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 einer einzelnen Serverinstanz, Anfragen für mehrere Kontent.ai-Umgebungen zu verarbeiten, 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-Injection
Von diesem Server zurückgegebene Inhalte (z. B. ein von einem Redakteur geschriebenes Element) können Text enthalten, den ein verbundenes LLM als Anweisungen interpretiert – indirekte Prompt-Injection. Ein gekapertes Agent könnte zu destruktiven Tool-Aufrufen (löschen / Veröffentlichung zurücknehmen / überschreiben) oder zum Offenlegen unveröffentlichter Entwürfe verleitet werden. Dies ist ein branchenweites, ungelöstes Problem, das der Server nicht zuverlässig beheben kann, indem er die zurückgegebenen Inhalte transformiert. Daher ist die Verteidigung mehrschichtig:
- Verwenden Sie einen Management-API-Schlüssel mit minimalen Berechtigungen. Der Server arbeitet mit dem Schlüssel, der ihm übergeben wird. Mit einem Nur-Lese-Schlüssel schlägt ein destruktiver Aufruf eines kompromittierten Agents schlicht an der API-Grenze fehl – die stärkste Kontrolle, da sie unabhängig vom Modellverhalten greift.
- Behalten Sie einen Menschen im Prozess. Jedes Werkzeug trägt MCP-Anmerkungen – Lesezugriffe sind
readOnlyHint, reine Erstellungswerkzeuge sind additiv, und Werkzeuge, die Daten überschreiben oder entfernen, sinddestructiveHint– die konforme Clients nutzen, um Lesezugriffe automatisch zu genehmigen und vor destruktiven Aufrufen nachzufragen. Betreiben Sie den Server mit einem solchen Client und vermeiden Sie Headless-Setups mit automatischer Genehmigung bei einem Schlüssel mit Schreibrechten. - Fügen Sie eine clientseitige Sperre hinzu, falls Ihr Client dies unterstützt. Einige Clients (z. B. Claude-Code-Hooks) ermöglichen es, vor der Ausführung eines destruktiven Werkzeugs deterministisch nachzufragen, unabhängig vom Modell. Dies wird lokal konfiguriert; ein Server kann es nicht erzwingen.
Dies sind Hinweise, keine Garantien. Melden Sie Sicherheitsprobleme vertraulich an security@kontent.ai.
🚀 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 Streamable-HTTP-Transport bedient mehrere Kontent.ai-Umgebungen von einer einzigen Serverinstanz aus. Jede Anfrage liefert Anmeldedaten ü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 Ihren Claude-Code-Einstellungen (JSON) mit den Eigenschaften
urlundheaderskonfigurieren.
[!IMPORTANT] 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-Tool-Implementierungenclients/– Einrichtung des Kontent.ai-API-Clientsschemas/– Datenvalidierungsschematautils/– HilfsfunktionenerrorHandler.ts– Standardisierte Fehlerbehandlung für MCP-ToolsthrowError.ts– Generisches Hilfsprogramm zum Auslösen von Fehlern
server.ts– Hauptserver-Einrichtung und Tool-Registrierungbin.ts– Ein einzelner Einstiegspunkt, der beide Transporttypen verarbeitet
🔍 Debugging
Für das Debugging 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 Streamable-HTTP-Server:
npx @modelcontextprotocol/inspector
Dies bietet eine Weboberfläche zum Inspizieren und Testen der verfügbaren Tools.
📦 Release-Prozess
So veröffentlichen Sie eine neue Version:
- 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
- Führen Sie den Pull-Request zusammen
- Erstellen Sie ein neues GitHub-Release mit der Versionsnummer als Name und Tag und verwenden Sie die automatisch generierten Release-Hinweise
- Die Veröffentlichung des Releases löst einen automatisierten Workflow aus, der in npm und die GitHub-MCP-Registry veröffentlicht
Lizenz
MIT