Skip to main content
Glama

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 ist false “).

Beispiel

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 # Optional

Wichtig: Fügen Sie Ihrer .gitignore Datei .env hinzu, um die Übermittlung von Anmeldeinformationen zu vermeiden.

Installation

npm install strapi-mcp

Lä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

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.js

Alternative (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.js

Merkmale

  • 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 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 ResourceNotFound und AccessDenied hinzugefügt

  • Bessere 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/ -URIs

  • Jeder 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 auf

  • get_entries - Abrufen von Einträgen für einen bestimmten Inhaltstyp mit optionaler Filterung, Paginierung, Sortierung und Auffüllung von Beziehungen

  • get_entry - Einen bestimmten Eintrag per ID abrufen

  • create_entry - Einen neuen Eintrag für einen Inhaltstyp erstellen

  • update_entry - Einen vorhandenen Eintrag aktualisieren

  • delete_entry - Einen Eintrag löschen

  • upload_media - Laden Sie eine Mediendatei auf Strapi hoch

  • get_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 abrufen

  • strapi://content-type/api::article.article/1 – Artikel mit der ID 1 abrufen

  • strapi://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 abrufen

  • get_component_schema : Zeigen Sie die Struktur einer bestimmten Komponente an

  • create_component : Erstellen Sie eine neue Komponente mit angegebenen Feldern

  • update_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 install

Erstellen Sie den Server:

npm run build

Für die Entwicklung mit automatischem Rebuild:

npm run watch

Installation

Ausführliche Schritt-für-Schritt-Anleitungen zum Bereitstellen und Testen dieses MCP-Servers finden Sie in der Datei DEPLOYMENT.md .

Schnelle Einrichtung:

  1. Erstellen Sie den Server: npm run build

  2. Konfigurieren Sie Ihre Strapi-Instanz und erhalten Sie ein API-Token

  3. 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:

  1. E-Mail und Passwort des Administrators ( STRAPI_ADMIN_EMAIL , STRAPI_ADMIN_PASSWORD )

  2. 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)

  1. Melden Sie sich bei Ihrem Strapi-Administrationsbereich an

  2. Gehen Sie zu Einstellungen > API-Token

  3. Klicken Sie auf „Neues API-Token erstellen“.

  4. Legen Sie einen Namen, eine Beschreibung und einen Token-Typ fest (vorzugsweise „Vollzugriff“)

  5. 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 inspector

Der 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

-
security - not tested
A
license - permissive license
-
quality - not tested

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