Strapi MCP Server
Strapi MCP
Ein MCP-Server für Strapi CMS, der Zugriff auf Inhaltstypen und Einträge über das Model Context Protocol bietet.
Überblick
Dieser MCP-Server lässt sich in jede Strapi CMS-Instanz integrieren und bietet:
Zugriff auf Strapi-Inhaltstypen als Ressourcen
Tools zum Erstellen und Aktualisieren von Inhaltstypen in Strapi
Tools zum Verwalten von Inhaltseinträgen (Erstellen, Lesen, Aktualisieren, Löschen)
Unterstützung für Strapi im Entwicklungsmodus
Related MCP server: Ledger MCP Server
Aufstellen
Umgebungsvariablen
Es wird empfohlen, zum Speichern Ihrer Anmeldeinformationen eine .env Datei im Projektstamm zu verwenden.
STRAPI_URL: Die URL Ihrer Strapi-Instanz (Standard:http://localhost:1337)STRAPI_ADMIN_EMAIL: Die E-Mail-Adresse eines Strapi-Administratorbenutzers (empfohlen für die volle Funktionalität, insbesondere Schemazugriff).STRAPI_ADMIN_PASSWORD: Das Passwort für den Strapi-Administratorbenutzer (empfohlen).STRAPI_API_TOKEN: (Optionaler Fallback) Ein API-Token. Kann verwendet werden, wenn keine Administratoranmeldeinformationen angegeben sind, hat aber möglicherweise eingeschränkte Berechtigungen.STRAPI_DEV_MODE: Auf"true"setzen, um die Funktionen des Entwicklungsmodus zu aktivieren (Standard istfalse“).
Beispiel .env Datei:
STRAPI_URL=http://localhost:1337
STRAPI_ADMIN_EMAIL=your_admin_email@example.com
STRAPI_ADMIN_PASSWORD=your_admin_password
# STRAPI_API_TOKEN=your_api_token_here # OptionalWichtig: Fügen Sie Ihrer .gitignore Datei .env hinzu, um die Übermittlung von Anmeldeinformationen zu vermeiden.
Installation
npm install strapi-mcpLäuft
Empfohlene Methode (mithilfe der Cursor-MCP-Konfiguration):
Cursor-Benutzer konfigurieren den Strapi-MCP-Server in ihrer Datei ~/.cursor/mcp.json :
"strapi-mcp": {
"command": "node",
"args": ["/path/to/strapi-mcp/build/index.js"],
"env": {
"STRAPI_URL": "http://localhost:1337",
"STRAPI_ADMIN_EMAIL": "your_admin_email@example.com",
"STRAPI_ADMIN_PASSWORD": "your_admin_password"
}
}Cursor verwaltet den Server-Lebenszyklus automatisch, wenn Strapi-MCP-Tools verwendet werden.
Alternative Methode (mithilfe .env Datei):
Stellen Sie sicher, dass Sie das Projekt erstellt haben ( npm run build ). Führen Sie anschließend den Server mit Node.js v20.6.0+ und dem Flag --env-file aus:
node --env-file=.env build/index.jsAlternative (direkte Verwendung von Umgebungsvariablen):
export STRAPI_URL=http://localhost:1337
export STRAPI_ADMIN_EMAIL=your_admin_email@example.com
export STRAPI_ADMIN_PASSWORD=your_admin_password
# export STRAPI_API_TOKEN=your-api-token # Optional fallback
export STRAPI_DEV_MODE=true # optional
# Run the globally installed package (if installed via npm install -g)
strapi-mcp
# Or run the local build directly
node build/index.jsMerkmale
Auflisten und Lesen von Inhaltstypen
Einträge abrufen, erstellen, aktualisieren und löschen
Mediendateien hochladen
Verbinden und Trennen von Beziehungen
Abrufen von Inhaltstypschemata
Änderungsprotokoll
0.1.6
Tool
create_content_typehinzugefügt: Ermöglicht das Erstellen neuer Inhaltstypen über die Content-Type Builder-API (erfordert Administratoranmeldeinformationen).Priorisierte Administratoranmeldeinformationen: Aktualisierte Logik, um beim Abrufen von Inhaltstypen und Schemata die E-Mail-Adresse/das Kennwort des Administrators zu bevorzugen und so die Zuverlässigkeit zu verbessern.
Aktualisierte Dokumentation: Verdeutlichte Authentifizierungsmethoden und empfohlene Ausführungsverfahren.
0,1,5
Verbesserte Inhaltstyperkennung mit mehreren Fallback-Methoden
Robustere Fehlerbehandlung und Protokollierung hinzugefügt
Verbesserte Schemainferenz für Inhaltstypen
0.1.4
Verbesserte Fehlerbehandlung mit spezifischeren Fehlercodes
Fehlercodes
ResourceNotFoundundAccessDeniedhinzugefügtBessere Fehlermeldungen für häufige API-Fehler
0.1.3
Erste öffentliche Veröffentlichung
Lizenz
MIT
strapi-mcp MCP-Server
Ein MCP-Server für Ihr Strapi CMS
Dies ist ein TypeScript-basierter MCP-Server, der in Strapi CMS integriert ist. Er bietet Zugriff auf Strapi-Inhaltstypen und -Einträge über das MCP-Protokoll und ermöglicht Ihnen Folgendes:
Greifen Sie auf Strapi-Inhaltstypen als Ressourcen zu
Inhaltseinträge erstellen, lesen, aktualisieren und löschen
Verwalten Sie Ihre Strapi-Inhalte über MCP-Tools
Merkmale
Ressourcen
Auflisten und Zugreifen auf Inhaltstypen über
strapi://content-type/-URIsJeder Inhaltstyp stellt seine Einträge als JSON bereit
Anwendungs-/JSON-MIME-Typ für strukturierten Inhaltszugriff
Werkzeuge
list_content_types– Listet alle verfügbaren Inhaltstypen in Strapi aufget_entries- Abrufen von Einträgen für einen bestimmten Inhaltstyp mit optionaler Filterung, Paginierung, Sortierung und Auffüllung von Beziehungenget_entry- Einen bestimmten Eintrag per ID abrufencreate_entry- Einen neuen Eintrag für einen Inhaltstyp erstellenupdate_entry- Einen vorhandenen Eintrag aktualisierendelete_entry- Einen Eintrag löschenupload_media- Laden Sie eine Mediendatei auf Strapi hochget_content_type_schema– Ruft das Schema (Felder, Typen, Beziehungen) für einen bestimmten Inhaltstyp ab.connect_relation– Verbindet verwandte Einträge mit dem Relationsfeld eines Eintrags.disconnect_relation– Trennen Sie verwandte Einträge vom Beziehungsfeld eines Eintrags.create_content_type– Erstellen Sie einen neuen Inhaltstyp mithilfe der Content-Type Builder-API (erfordert Administratorrechte).publish_entry– Veröffentlichen Sie einen bestimmten Eintrag.unpublish_entry– Veröffentlichung eines bestimmten Eintrags rückgängig machen.list_components– Listet alle verfügbaren Komponenten in Strapi auf.get_component_schema– Ruft das Schema für eine bestimmte Komponente ab.create_component– Erstellen Sie eine neue Komponente.update_component– Aktualisieren Sie eine vorhandene Komponente.
Erweiterte Funktionen
Filtern, Paginieren und Sortieren
Das Tool get_entries unterstützt erweiterte Abfrageoptionen:
{
"contentType": "api::article.article",
"filters": {
"title": {
"$contains": "hello"
}
},
"pagination": {
"page": 1,
"pageSize": 10
},
"sort": ["title:asc", "createdAt:desc"],
"populate": ["author", "categories"]
}Ressourcen-URIs
Auf Ressourcen kann mit verschiedenen URI-Formaten zugegriffen werden:
strapi://content-type/api::article.article– Alle Artikel abrufenstrapi://content-type/api::article.article/1– Artikel mit der ID 1 abrufenstrapi://content-type/api::article.article?filters={"title":{"$contains":"hello"}}– Gefilterte Artikel abrufen
Veröffentlichen und Aufheben der Veröffentlichung von Inhalten
Die Tools publish_entry und unpublish_entry ermöglichen die Kontrolle über den Lebenszyklus von Inhalten:
{
"contentType": "api::article.article",
"id": "1"
}Diese Tools verwenden die Admin-API-Pfade für Veröffentlichungs-/Aufhebungsaktionen und bieten die Möglichkeit, das Feld publishedAt direkt zu aktualisieren, wenn keine Administratorberechtigungen verfügbar sind.
Komponentenverwaltung
Strapi-Komponenten können mit den folgenden Tools verwaltet werden:
list_components: Alle verfügbaren Komponenten abrufenget_component_schema: Zeigen Sie die Struktur einer bestimmten Komponente ancreate_component: Erstellen Sie eine neue Komponente mit angegebenen Feldernupdate_component: Eine vorhandene Komponente ändern
Beispiel für die Erstellung einer Komponente:
{
"componentData": {
"displayName": "Security Settings",
"category": "security",
"icon": "shield",
"attributes": {
"enableTwoFactor": {
"type": "boolean",
"default": false
},
"passwordExpiration": {
"type": "integer",
"min": 0
}
}
}
}Entwicklung
Installieren Sie Abhängigkeiten:
npm installErstellen Sie den Server:
npm run buildFür die Entwicklung mit automatischem Rebuild:
npm run watchInstallation
Ausführliche Schritt-für-Schritt-Anleitungen zum Bereitstellen und Testen dieses MCP-Servers finden Sie in der Datei DEPLOYMENT.md .
Schnelle Einrichtung:
Erstellen Sie den Server:
npm run buildKonfigurieren Sie Ihre Strapi-Instanz und erhalten Sie ein API-Token
Fügen Sie die Serverkonfiguration zu Claude Desktop hinzu:
Unter MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Unter Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"strapi-mcp": {
"command": "/path/to/strapi-mcp/build/index.js",
"env": {
"STRAPI_URL": "http://localhost:1337",
"STRAPI_API_TOKEN": "your-api-token-here",
"STRAPI_DEV_MODE": "false"
}
}
}
}Umgebungsvariablen
STRAPI_URL(optional): Die URL Ihrer Strapi-Instanz (standardmäßig http://localhost:1337 )STRAPI_ADMIN_EMAIL&STRAPI_ADMIN_PASSWORD(empfohlen): Anmeldeinformationen für einen Strapi-Administrator. Erforderlich für die volle Funktionalität, z. B. das Abrufen von Inhaltstypschemata.STRAPI_API_TOKEN(Optionaler Fallback): Ihr Strapi-API-Token. Kann verwendet werden, wenn keine Administratoranmeldeinformationen angegeben sind. Die Funktionalität kann jedoch je nach Tokenberechtigung eingeschränkt sein.STRAPI_DEV_MODE(optional): Auf „true“ setzen, um die Funktionen des Entwicklungsmodus zu aktivieren (Standard ist „false“)
Authentifizierungspriorität
Der Server priorisiert Authentifizierungsmethoden in dieser Reihenfolge:
E-Mail und Passwort des Administrators (
STRAPI_ADMIN_EMAIL,STRAPI_ADMIN_PASSWORD)API-Token (
STRAPI_API_TOKEN)
Für optimale Ergebnisse wird dringend empfohlen, Administratoranmeldeinformationen zu verwenden.
Strapi-Anmeldeinformationen erhalten
Administratoranmeldeinformationen: Verwenden Sie die E-Mail-Adresse und das Kennwort eines vorhandenen Superadministrators oder erstellen Sie einen dedizierten Administratorbenutzer in Ihrem Strapi-Administrationsbereich (Einstellungen > Administrationsbereich > Benutzer).
API-Token: (Optionaler Fallback)
Melden Sie sich bei Ihrem Strapi-Administrationsbereich an
Gehen Sie zu Einstellungen > API-Token
Klicken Sie auf „Neues API-Token erstellen“.
Legen Sie einen Namen, eine Beschreibung und einen Token-Typ fest (vorzugsweise „Vollzugriff“)
Kopieren Sie das generierte Token und verwenden Sie es in Ihrer MCP-Serverkonfiguration
Debuggen
Da MCP-Server über stdio kommunizieren, kann das Debuggen eine Herausforderung darstellen. Wir empfehlen die Verwendung des MCP Inspector , der als Paketskript verfügbar ist:
npm run inspectorDer Inspector stellt eine URL für den Zugriff auf Debugging-Tools in Ihrem Browser bereit.
Anwendungsbeispiele
Sobald der MCP-Server konfiguriert und betriebsbereit ist, können Sie ihn zusammen mit Claude zur Interaktion mit Ihrem Strapi CMS verwenden. Hier einige Beispiele:
Auflisten von Inhaltstypen
use_mcp_tool(
server_name: "strapi-mcp",
tool_name: "list_content_types",
arguments: {}
)Einträge erhalten
use_mcp_tool(
server_name: "strapi-mcp",
tool_name: "get_entries",
arguments: {
"contentType": "api::article.article",
"filters": {
"title": {
"$contains": "hello"
}
},
"pagination": {
"page": 1,
"pageSize": 10
},
"sort": ["title:asc"]
}
)Einen Eintrag erstellen
use_mcp_tool(
server_name: "strapi-mcp",
tool_name: "create_entry",
arguments: {
"contentType": "api::article.article",
"data": {
"title": "My New Article",
"content": "This is the content of my article.",
"publishedAt": "2023-01-01T00:00:00.000Z"
}
}
)Hochladen von Medien
use_mcp_tool(
server_name: "strapi-mcp",
tool_name: "upload_media",
arguments: {
"fileData": "base64-encoded-data-here",
"fileName": "image.jpg",
"fileType": "image/jpeg"
}
)Beziehungen verbinden
use_mcp_tool(
server_name: "strapi-mcp",
tool_name: "connect_relation",
arguments: {
"contentType": "api::article.article",
"id": "1",
"relationField": "authors",
"relatedIds": [2, 3]
}
)Trennung von Beziehungen
use_mcp_tool(
server_name: "strapi-mcp",
tool_name: "disconnect_relation",
arguments: {
"contentType": "api::article.article",
"id": "1",
"relationField": "authors",
"relatedIds": [3]
}
)Erstellen eines Inhaltstyps
use_mcp_tool(
server_name: "strapi-mcp-local",
tool_name: "create_content_type",
arguments: {
"displayName": "My New Product",
"singularName": "product",
"pluralName": "products",
"kind": "collectionType",
"description": "Represents products in the store",
"draftAndPublish": true,
"attributes": {
"name": { "type": "string", "required": true },
"description": { "type": "text" },
"price": { "type": "decimal", "required": true },
"stock": { "type": "integer" }
}
}
)Aktualisieren eines Inhaltstyps
use_mcp_tool(
server_name: "strapi-mcp-local",
tool_name: "update_content_type",
arguments: {
"contentType": "api::speaker.speaker",
"attributes": {
"isHighlightSpeaker": {
"type": "boolean",
"default": false
},
"newTextField": {
"type": "string"
}
}
}
)Zugriff auf Ressourcen
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/l33tdawg/strapi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server