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