Strapi MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables interaction with a Strapi CMS instance through its REST API, supporting content types management, media uploads, schema introspection, and CRUD operations with version compatibility for both Strapi v4 and v5.

Servidor Strapi MCP

Un servidor de Protocolo de Contexto de Modelo para interactuar con Strapi CMS. Este servidor permite que los asistentes de IA interactúen con su instancia de Strapi a través de una interfaz estandarizada, compatible con tipos de contenido y operaciones de API REST.

⚠️ AVISO IMPORTANTE : Este software se ha desarrollado con tecnología de IA. Se proporciona tal cual y NO debe utilizarse en entornos de producción sin realizar pruebas y validaciones exhaustivas. El código puede contener errores, vulnerabilidades de seguridad o comportamientos inesperados. Úselo bajo su propia responsabilidad únicamente con fines de investigación, aprendizaje o desarrollo.

Registro de cambios

Versión 2.3.0 - Mejora de la documentación y configuración

  • 📚 Se agregó documentación completa del proyecto en CLAUDE.md
  • ⚙️ Opciones de configuración ampliadas con mejor detección de versiones
  • 🛠️ Guías de solución de problemas mejoradas para problemas comunes
  • 🔄 Documentación detallada de la API REST con ejemplos prácticos
  • 📝 Guía de mejores prácticas para la gestión de contenidos
  • 🐛 Análisis de versión fija a partir de diferentes patrones de formato
  • 🔍 Mensajes de error mejorados con orientación específica para cada versión

Versión 2.2.0 - Actualización de seguridad y manejo de versiones

  • 🔒 Se agregó una política estricta de protección contra escritura
  • 🔄 Soporte de formato de versión mejorada (5.*, 4.1.5, v4, etc.)
  • 📚 Documentación integrada en las capacidades del servidor
  • 🚫 Se eliminó el mensaje de conexión (ahora en capacidades)
  • ⚡ Manejo de errores y validación mejorados
  • 🔍 Se agregó una guía de diferencias específicas de cada versión
  • 📋 Documentación de capacidades mejoradas del servidor

Versión 2.1.0

  • Compatibilidad mejorada con Strapi v4 y v5
  • Se eliminó la validación automática para admitir diferentes estructuras de datos entre versiones.
  • Mensajes de error mejorados con sugerencias específicas de la versión
  • Manejo simplificado de solicitudes para brindarles a los clientes más control
  • Documentación actualizada con ejemplos claros para ambas versiones.

Características

  • 🔍 Introspección de esquemas
  • 🔄 Compatibilidad con API REST con validación
  • 📸 Manejo de carga de medios
  • 🔐 Autenticación JWT
  • 📝 Gestión de tipos de contenido
  • 🖼️ Procesamiento de imágenes con conversión de formato
  • 🌐 Soporte para múltiples servidores
  • ✅ Validación automática del esquema
  • Política de protección contra escritura
  • 📚 Documentación integrada
  • 🔄 Gestión de compatibilidad de versiones

Instalación

Puedes utilizar este servidor directamente con npx en tu configuración de Claude Desktop:

{ "mcpServers": { "strapi": { "command": "npx", "args": ["-y", "@bschauer/strapi-mcp-server@2.5.0"] } } }

Configuración

Cree un archivo de configuración en ~/.mcp/strapi-mcp-server.config.json :

{ "myserver": { "api_url": "http://localhost:1337", "api_key": "your-jwt-token-from-strapi-admin", "version": "5.*" // Optional: Specify Strapi version (e.g., "5.*", "4.1.5", "v4") } }

Puede configurar varias instancias de Strapi agregándolas a este archivo.

Configuración de la versión

El servidor ahora admite varios formatos de versión:

  • Comodín: "5. ", "4. "
  • Específico: "4.1.5", "5.0.0"
  • Sencillo: "v4", "v5"

Esto ayuda al servidor a proporcionar orientación específica de la versión y a gestionar las diferencias de API de forma adecuada.

Obtener un token JWT

  1. Inicie sesión en su panel de administración de Strapi
  2. Cree un token de API con los permisos adecuados
  3. Agregue el token a su archivo de configuración bajo el nombre de servidor apropiado

Uso

Lista de servidores disponibles

strapi_list_servers(); // Now includes version information and differences between v4 and v5

Tipos de contenido

// Get all content types from a specific server strapi_get_content_types({ server: "myserver", }); // Get components with pagination strapi_get_components({ server: "myserver", page: 1, pageSize: 25, });

API REST

La API REST proporciona operaciones CRUD integrales con validación incorporada y manejo específico de la versión:

// Query content with filters strapi_rest({ server: "myserver", endpoint: "api/articles", method: "GET", params: { filters: { title: { $contains: "search term", }, }, }, }); // Create new content strapi_rest({ server: "myserver", endpoint: "api/articles", method: "POST", body: { data: { title: "New Article", content: "Article content", category: "news", }, }, }); // Update content strapi_rest({ server: "myserver", endpoint: "api/articles/123", method: "PUT", body: { data: { title: "Updated Title", content: "Updated content", }, }, }); // Delete content strapi_rest({ server: "myserver", endpoint: "api/articles/123", method: "DELETE", });

Carga de medios

// Upload image with automatic optimization strapi_upload_media({ server: "myserver", url: "https://example.com/image.jpg", format: "webp", quality: 80, metadata: { name: "My Image", caption: "Image Caption", alternativeText: "Alt Text", }, });

Diferencias de versiones (v4 vs v5)

Diferencias clave entre las versiones de Strapi que el servidor maneja automáticamente:

versión 4

  • Utiliza identificadores numéricos
  • Estructura de atributos anidados
  • Envoltorio de datos en las respuestas
  • Patrones REST tradicionales
  • Complemento i18n externo

versión 5

  • Identificaciones basadas en documentos
  • Estructura de datos plana
  • Acceso directo a atributos
  • Seguridad JWT mejorada
  • Soporte i18n integrado
  • Nueva API de servicio de documentos

Características de seguridad

Política de protección contra escritura

El servidor implementa una estricta política de protección contra escritura:

  • Todas las operaciones de escritura requieren autorización explícita
  • Las operaciones protegidas incluyen:
    • POST (Crear)
    • PUT (Actualizar)
    • BORRAR
    • Carga de medios
  • Cada operación se registra y valida.

Mejores prácticas

  1. Siempre verifique primero el esquema con strapi_get_content_types
  2. Utilice las formas plural/singular adecuadas para los puntos finales
  3. Incluya el manejo de errores en sus consultas
  4. Validar las URL antes de cargarlas
  5. Comience con consultas mínimas y agregue población solo cuando sea necesario
  6. Incluya siempre el objeto de datos completo al actualizar
  7. Utilice filtros para optimizar el rendimiento de las consultas
  8. Aproveche la validación de esquema incorporada
  9. Verifique la compatibilidad de la versión para sus operaciones
  10. Siga las pautas de la política de protección contra escritura

Consejos sobre la API REST

Filtración

// Filter by field value params: { filters: { title: "Exact Match"; } } // Contains filter params: { filters: { title: { $contains: "partial"; } } } // Multiple conditions params: { filters: { $and: [{ category: "news" }, { published: true }]; } }

Clasificación

params: { sort: ["createdAt:desc"]; }

Paginación

params: { pagination: { page: 1, pageSize: 25 } }

Población

// Basic request without population params: { } // Selective population when needed params: { populate: ["category"]; } // Detailed population with field selection params: { populate: { category: { fields: ["name", "slug"]; } } }

Solución de problemas

Problemas comunes y soluciones:

  1. Errores 404
    • Comprobar la forma plural/singular del punto final
    • Verificar que el tipo de contenido exista
    • Asegúrese de que la URL de la API sea correcta
    • Verifique si se utiliza el formato de identificación correcto (numérico o basado en documento)
  2. Problemas de autenticación
    • Verificar que el token JWT sea válido
    • Comprobar los permisos del token
    • Asegúrese de que el token no haya expirado
  3. Problemas relacionados con la versión
    • Verificar la especificación de la versión en la configuración
    • Comprobar que la estructura de datos coincida con la versión
    • Revisar la documentación sobre las diferencias de versiones
  4. Errores de protección contra escritura
    • Asegúrese de que la operación esté autorizada
    • Comprobar si la operación está protegida
    • Verificar que la solicitud cumpla con la política de seguridad

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Appeared in Searches

ID: qfdkybxvkp