Skip to main content
Glama

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

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 .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 # 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 .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.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 create_content_type hinzugefü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 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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Bietet Zugriff auf Strapi CMS-Inhalte über das MCP-Protokoll und ermöglicht Benutzern das Erstellen, Lesen, Aktualisieren und Löschen von Inhaltseinträgen über Claude.

  1. Überblick
    1. Aufstellen
      1. Umgebungsvariablen
      2. Installation
      3. Läuft
    2. Merkmale
      1. Änderungsprotokoll
        1. 0.1.6
        2. 0,1,5
        3. 0.1.4
        4. 0.1.3
      2. Lizenz
        1. strapi-mcp MCP-Server
          1. Merkmale
          2. Entwicklung
          3. Installation
          4. Anwendungsbeispiele

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that enables AI assistants to interact with Strapi CMS instances through a standardized interface, supporting content types and REST API operations.
          Last updated -
          5
          65
          20
          JavaScript
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          An MCP server that allows accessing and managing ledger files through Claude by providing account listing, balance checking, and transaction register viewing capabilities.
          Last updated -
          1
          Python
          GPL 3.0
          • Apple
        • A
          security
          A
          license
          A
          quality
          An MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.
          Last updated -
          2
          108
          195
          TypeScript
          MIT License
          • Apple
        • A
          security
          F
          license
          A
          quality
          An MCP server that integrates Claude with Anki flashcards, allowing users to review due cards and create new flashcards directly through conversation.
          Last updated -
          6
          8
          Python
          • Apple

        View all related MCP servers

        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