Skip to main content
Glama

Correa MCP

Un servidor MCP para Strapi CMS, que proporciona acceso a tipos de contenido y entradas a través del Protocolo de contexto de modelo.

Descripción general

Este servidor MCP se integra con cualquier instancia de Strapi CMS para proporcionar:

  • Acceso a los tipos de contenido de Strapi como recursos

  • Herramientas para crear y actualizar tipos de contenido en Strapi

  • Herramientas para gestionar entradas de contenido (crear, leer, actualizar, eliminar)

  • Soporte para Strapi en modo de desarrollo

Related MCP server: Ledger MCP Server

Configuración

Variables de entorno

Se recomienda utilizar un archivo .env en la raíz del proyecto para almacenar sus credenciales.

  • STRAPI_URL : La URL de su instancia de Strapi (predeterminado: http://localhost:1337 )

  • STRAPI_ADMIN_EMAIL : La dirección de correo electrónico de un usuario administrador de Strapi (recomendado para funcionalidad completa, especialmente acceso al esquema).

  • STRAPI_ADMIN_PASSWORD : La contraseña para el usuario administrador de Strapi (recomendado).

  • STRAPI_API_TOKEN : (Respaldo opcional) Un token de API. Se puede usar si no se proporcionan credenciales de administrador, pero puede tener permisos limitados.

  • STRAPI_DEV_MODE : Establezca en "true" para habilitar las funciones del modo de desarrollo (el valor predeterminado es false ).

Ejemplo de archivo

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

Importante: agregue .env a su archivo .gitignore para evitar confirmar las credenciales.

Instalación

npm install strapi-mcp

Correr

Método recomendado (usando archivo

Asegúrate de haber compilado el proyecto ( npm run build ). Luego, ejecuta el servidor con Node.js v20.6.0+ y el parámetro --env-file :

node --env-file=.env build/index.js

Alternativa (utilizando variables de entorno directamente):

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

Características

  • Enumerar y leer tipos de contenido

  • Obtener, crear, actualizar y eliminar entradas

  • Subir archivos multimedia

  • Conectar y desconectar relaciones

  • Obtener esquemas de tipos de contenido

Registro de cambios

0.1.6

  • Se agregó la herramienta permite crear nuevos tipos de contenido a través de la API Content-Type Builder (requiere credenciales de administrador).

  • Credenciales de administrador priorizadas: se actualizó la lógica para preferir el correo electrónico y la contraseña del administrador para obtener tipos de contenido y esquemas, lo que mejora la confiabilidad.

  • Documentación actualizada: se aclararon los métodos de autenticación y se recomendaron procedimientos de ejecución.

0.1.5

  • Descubrimiento mejorado de tipos de contenido con múltiples métodos de respaldo

  • Se agregó un manejo y registro de errores más robusto

  • Inferencia de esquemas mejorada para tipos de contenido

0.1.4

  • Manejo de errores mejorado con códigos de error más específicos

  • Se agregaron los códigos de error ResourceNotFound y AccessDenied

  • Mejores mensajes de error para errores comunes de API

0.1.3

  • Lanzamiento público inicial

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Servidor MCP strapi-mcp

Un servidor MCP para su Strapi CMS

Este es un servidor MCP basado en TypeScript que se integra con Strapi CMS. Proporciona acceso a los tipos de contenido y entradas de Strapi mediante el protocolo MCP, lo que permite:

  • Acceda a los tipos de contenido de Strapi como recursos

  • Crear, leer, actualizar y eliminar entradas de contenido

  • Gestiona tu contenido de Strapi a través de las herramientas MCP

Características

Recursos

  • Enumere y acceda a los tipos de contenido mediante las URI strapi://content-type/

  • Cada tipo de contenido expone sus entradas como JSON

  • Tipo MIME de aplicación/JSON para acceso a contenido estructurado

Herramientas

  • list_content_types : enumera todos los tipos de contenido disponibles en Strapi

  • get_entries : obtiene entradas para un tipo de contenido específico con filtrado, paginación, ordenamiento y población de relaciones opcionales

  • get_entry - Obtener una entrada específica por ID

  • create_entry - Crea una nueva entrada para un tipo de contenido

  • update_entry - Actualizar una entrada existente

  • delete_entry - Eliminar una entrada

  • upload_media - Sube un archivo multimedia a Strapi

  • get_content_type_schema : obtiene el esquema (campos, tipos, relaciones) para un tipo de contenido específico.

  • connect_relation - Conecta entradas relacionadas al campo de relación de una entrada.

  • disconnect_relation - Desconectar entradas relacionadas del campo de relación de una entrada.

  • create_content_type : crea un nuevo tipo de contenido utilizando la API Content-Type Builder (requiere privilegios de administrador).

Funciones avanzadas

Filtrado, paginación y ordenación

La herramienta get_entries admite opciones de consulta avanzadas:

{ "contentType": "api::article.article", "filters": { "title": { "$contains": "hello" } }, "pagination": { "page": 1, "pageSize": 10 }, "sort": ["title:asc", "createdAt:desc"], "populate": ["author", "categories"] }

URI de recursos

Se puede acceder a los recursos con varios formatos de URI:

  • strapi://content-type/api::article.article - Obtener todos los artículos

  • strapi://content-type/api::article.article/1 - Obtener el artículo con ID 1

  • strapi://content-type/api::article.article?filters={"title":{"$contains":"hello"}} - Obtener artículos filtrados

Desarrollo

Instalar dependencias:

npm install

Construir el servidor:

npm run build

Para desarrollo con reconstrucción automática:

npm run watch

Instalación

Para obtener instrucciones detalladas paso a paso sobre cómo implementar y probar este servidor MCP, consulte el archivo DEPLOYMENT.md .

Configuración rápida:

  1. Construya el servidor: npm run build

  2. Configure su instancia de Strapi y obtenga un token API

  3. Agregue la configuración del servidor a Claude Desktop:

En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json En 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" } } } }

Variables de entorno

  • STRAPI_URL (opcional): la URL de su instancia de Strapi (el valor predeterminado es http://localhost:1337 )

  • STRAPI_ADMIN_EMAIL y STRAPI_ADMIN_PASSWORD (Recomendado): Credenciales de un usuario administrador de Strapi. Necesarias para funcionalidades completas, como la obtención de esquemas de tipos de contenido.

  • STRAPI_API_TOKEN (Respaldo opcional): Su token de la API de Strapi. Puede usarse si no se proporcionan credenciales de administrador, pero la funcionalidad podría estar limitada según los permisos del token.

  • STRAPI_DEV_MODE (opcional): Establézcalo en "verdadero" para habilitar las funciones del modo de desarrollo (el valor predeterminado es falso)

Prioridad de autenticación

El servidor prioriza los métodos de autenticación en este orden:

  1. Correo electrónico y contraseña de administrador ( STRAPI_ADMIN_EMAIL , STRAPI_ADMIN_PASSWORD )

  2. Token API ( STRAPI_API_TOKEN )

Se recomienda encarecidamente utilizar credenciales de administrador para obtener los mejores resultados.

Obtención de credenciales Strapi

  • Credenciales de administrador: utilice el correo electrónico y la contraseña de un superadministrador existente o cree un usuario administrador dedicado en su panel de administración de Strapi (Configuración > Panel de administración > Usuarios).

  • Token de API: (Respaldo opcional)

  1. Inicie sesión en su panel de administración de Strapi

  2. Vaya a Configuración > Tokens API

  3. Haga clic en "Crear nuevo token de API".

  4. Establezca un nombre, una descripción y un tipo de token (preferiblemente "Acceso completo")

  5. Copia el token generado y úsalo en la configuración de tu servidor MCP

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el Inspector MCP , disponible como script de paquete:

npm run inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.

Ejemplos de uso

Una vez configurado y en funcionamiento el servidor MCP, puede usarlo con Claude para interactuar con su CMS Strapi. Aquí tiene algunos ejemplos:

Listado de tipos de contenido

use_mcp_tool( server_name: "strapi-mcp", tool_name: "list_content_types", arguments: {} )

Obtener entradas

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"] } )

Creando una entrada

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" } } )

Carga de medios

use_mcp_tool( server_name: "strapi-mcp", tool_name: "upload_media", arguments: { "fileData": "base64-encoded-data-here", "fileName": "image.jpg", "fileType": "image/jpeg" } )

Conectando relaciones

use_mcp_tool( server_name: "strapi-mcp", tool_name: "connect_relation", arguments: { "contentType": "api::article.article", "id": "1", "relationField": "authors", "relatedIds": [2, 3] } )

Desconectando relaciones

use_mcp_tool( server_name: "strapi-mcp", tool_name: "disconnect_relation", arguments: { "contentType": "api::article.article", "id": "1", "relationField": "authors", "relatedIds": [3] } )

Creación de un tipo de contenido

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" } } } )

Actualizar un tipo de contenido

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" } } } )

Acceso a recursos

-
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