Skip to main content
Glama

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.

Related MCP server: Directus MCP Server

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)

Available Tools

5 tools
strapi_get_componentsA

Get all components from Strapi with pagination support. Returns both component data and pagination metadata (page, pageSize, total, pageCount).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (starts at 1)
serverYesThe name of the server to connect to
pageSizeNoNumber of items per page

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It mentions pagination support and return format (component data + metadata), but does not explicitly state read-only nature, error handling, or rate limits. The added detail is useful but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states the core function, the second details the output. Every word is purposeful, no redundancy. Front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description outlines the returned data types but lacks detail on component structure, error responses, or pagination field semantics. It is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all 3 parameters with descriptions (100% coverage). The description adds no additional meaning beyond the schema's own descriptions; it only reiterates pagination in broad terms.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get all components from Strapi') and includes pagination support, distinguishing it from siblings like 'get_content_types' by resource type. It is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., strapi_get_content_types, strapi_rest). There is no mention of prerequisites, scenarios, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

strapi_get_content_typesB

Get all content types from Strapi. Returns the complete schema of all content types.

Initialization Steps (ALWAYS DO FIRST)

  1. Get schema and analyze with this tool

  2. Capture Content Types and structures

  3. Remember endpoint names (pluralName/singularName)

  4. Document fields and types

  5. Identify relations

  6. Consider required fields and validations

Schema Conventions

  • singularName: Used for single item queries (e.g., "article")

  • pluralName: Used for collection endpoints (e.g., "articles")

  • collectionName: Database collection name

Endpoint Patterns

  • Collection: GET /api/{pluralName}

  • Single: GET /api/{pluralName}/{id}

  • Create: POST /api/{pluralName}

  • Update: PUT /api/{pluralName}/{id}

  • Delete: DELETE /api/{pluralName}/{id}

ParametersJSON Schema
NameRequiredDescriptionDefault
serverYesThe name of the server to connect to

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states a read operation but lacks details on side effects, auth needs, rate limits, or error behavior. The extra conventions section does not describe this tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose and includes extensive redundant material (initialization steps, schema conventions, endpoint patterns) that are not specific to this tool. Not every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description states the return value (complete schema) but lacks details on format, pagination, or errors. The extra context about Strapi conventions is helpful but not necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a clear description for the single 'server' parameter. The tool description adds no additional meaning beyond what the schema provides, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Get all content types from Strapi. Returns the complete schema of all content types,' providing a clear verb+resource combination. It naturally distinguishes from siblings like strapi_get_components and strapi_rest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Initialization Steps' implies this tool should be used first, but no explicit guidance on when not to use it or comparisons with sibling tools. Alternatives are not named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

strapi_list_serversC

List all available Strapi servers from the configuration.

Security Policy

STRICT_USER_AUTHORIZATION_REQUIRED: No write operations without explicit user authorization. Protected operations: POST (Create), PUT (Update), DELETE (Delete), Media Upload. All write operations require userAuthorized: true parameter.

Strapi Version Support

Supports both Strapi v4 and v5 with automatic version detection.

Version Differences

  • v4: Numeric IDs, nested attributes under 'attributes', data wrapper in responses

  • v5: Document-based IDs (documentId), flat structure, direct attribute access

Common Errors

  • 404: Using numeric ID instead of documentId, wrong plural/singular form

  • 405: Incorrect endpoint (/article instead of /articles)

  • 400: Missing data wrapper in request body

Best Practices

  1. Always check schema first with strapi_get_content_types

  2. Use documentId (not numeric id) for Strapi v5

  3. Always use data wrapper for updates: { data: { field: value } }

  4. Use pluralName for collection endpoints (api/articles)

  5. Validate URLs with webtools before using them

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It states the tool lists servers (read-only), but includes a security policy about write operations that is irrelevant to this tool. It does not describe the output format or any side effects, leaving behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description starts with a clear purpose sentence but then includes a large block of general Strapi documentation (security policy, version differences, errors, best practices) that is not directly relevant to listing servers. This reduces conciseness and adds noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for a tool with no output schema. It does not state what the returned list contains (e.g., server names, URLs). The contextual extras about version support and errors are not specific to this tool, leaving essential information missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters, so no parameter documentation is needed. The description omits parameter details, which is appropriate given the schema. Baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the tool's action and resource: 'List all available Strapi servers from the configuration.' This is specific and distinct from sibling tools, but the description does not explicitly differentiate it from siblings like strapi_get_content_types or strapi_rest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description includes best practices and common errors for Strapi in general, but does not tell the agent when listing servers is appropriate or when to use sibling tools instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

strapi_restA

Execute REST API requests against Strapi endpoints. IMPORTANT: All write operations (POST, PUT, DELETE) require explicit user authorization via the userAuthorized parameter.

Reading Data

params: { populate: ['SEO'] } // Populate a component params: { populate: { SEO: { fields: ['Title', 'seoDescription'] } } } // With field selection params: { filters: { title: { $contains: 'search' } } } // Filter results params: { sort: ['createdAt:desc'] } // Sort results params: { pagination: { page: 1, pageSize: 10 } } // Pagination

Writing Data (REQUIRES userAuthorized: true)

body: { data: { componentName: { Title: 'value' }, // Single component componentName: [{ field: 'value' }] // Repeatable component } }

Debugging Guide

  • 404 Error: Check plural/singular form, use documentId not numeric id

  • 400 Error: Check if data wrapper is present in body

  • 405 Error: Check endpoint format (/articles not /article)

  • URL Errors: Validate URLs with webtools first

  • ID Problems: Use documentId for Strapi v5

Strapi v5 Specifics

  • Use documentId instead of numeric id

  • Direct attribute access (no nested attributes)

  • No data wrapper in GET responses

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST/PUT requests. For components, use: { data: { componentName: { field: 'value' } } } for single components or { data: { componentName: [{ field: 'value' }] } } for repeatable components
methodNoHTTP method to useGET
paramsNoOptional query parameters for GET requests. For components, use populate: ['componentName'] or populate: { componentName: { fields: ['field1'] } }
serverYesThe name of the server to connect to
endpointYesThe API endpoint (e.g., 'api/articles')
userAuthorizedNoREQUIRED for POST/PUT/DELETE operations. Client MUST obtain explicit user authorization before setting this to true.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that write operations require authorization, and gives error handling tips. It does not explicitly state destructive nature or rate limits, but the authorization requirement implies mutability for writes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the critical authorization note and well-organized into sections (Reading Data, Writing Data, Debugging Guide, Strapi v5 Specifics). While comprehensive, it is slightly verbose but every section is informative and earned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description focuses on input and common errors but does not explain what the tool returns (the API response object). It covers usage scenarios well, but for a tool with 6 parameters and no output schema, a brief mention of the return format would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value by providing concrete examples for params (populate, filters, sort, pagination) and body (single and repeatable components). It also explains the userAuthorized parameter in detail, including the need for explicit user authorization.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Execute REST API requests against Strapi endpoints', specifying the verb (execute) and resource (REST API requests to Strapi). It is distinct from sibling tools which handle components, content types, servers, and media uploads.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says write operations (POST, PUT, DELETE) require userAuthorized: true, and provides detailed examples for reading and writing. Also includes a debugging guide and Strapi v5 specifics, helping the agent decide when and how to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

strapi_upload_mediaA

Upload media to Strapi's media library from a URL with format conversion, quality control, and metadata options. IMPORTANT: This is a write operation that REQUIRES explicit user authorization via the userAuthorized parameter.

Upload Steps

  1. Upload via strapi_upload_media with URL and metadata

  2. Get image ID from response

  3. Link to content using strapi_rest PUT request

Linking Images to Content (Strapi v5)

After upload, use PUT request to link: { "method": "PUT", "endpoint": "api/articles/{documentId}", "body": { "data": { "images": ["imageId"] } }, "userAuthorized": true }

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the image to upload
formatNoTarget format for the image. Use 'original' to keep the source format.original
serverYesThe name of the server to connect to
qualityNoImage quality (1-100). Only applies when converting formats.
metadataNo
userAuthorizedNoREQUIRED for media upload operations. Client MUST obtain explicit user authorization before setting this to true.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It correctly identifies the tool as a write operation and highlights the authorization requirement. However, it does not disclose what happens if authorization is not provided, the response structure, or any side effects beyond the immediate upload.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise, front-loading the main purpose and important authorization note. The subsequent steps and linking example are helpful but add length. Overall, it is well-structured and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, nested objects, no output schema), the description provides essential context: the upload workflow, linking steps, and authorization requirement. It lacks a description of the return value but compensates with procedural guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers 83% of parameters with descriptions. The description adds minimal new meaning beyond restating the schema's purpose and emphasizing the 'userAuthorized' requirement. Given high schema coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool uploads media to Strapi's media library from a URL, with format conversion, quality control, and metadata options. It distinguishes itself from sibling tools (which are get/list/rest operations) as the dedicated upload/write tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description emphasizes that this is a write operation requiring user authorization via the 'userAuthorized' parameter. It also provides upload steps and linking instructions, guiding the agent on how to use the tool in a workflow. However, it does not explicitly state when to use versus alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv2.8.0
    • Changedstrapi_get_components8 fields changed
      • removedInput schema / properties / page / additionalProperties
        Removed value: -true
      • addedInput schema / properties / page / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / page / type
        Removed value: -"object"
      • removedInput schema / properties / pageSize / additionalProperties
        Removed value: -true
      • addedInput schema / properties / pageSize / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / pageSize / type
        Removed value: -"object"
      • removedInput schema / properties / server / minLength
        Removed value: -1
      • changedInput schema / required
        Previous value: -[
        -  "server",
        -  "page",
        -  "pageSize"
        -]New value: +[
        +  "server"
        +]
    • Changedstrapi_get_content_types1 field changed
      • removedInput schema / properties / server / minLength
        Removed value: -1
    • Changedstrapi_rest10 fields changed
      • addedInput schema / properties / body / additionalProperties
        Added value: +true
      • addedInput schema / properties / body / type
        Added value: +"object"
      • addedInput schema / properties / endpoint / type
        Added value: +"string"
      • addedInput schema / properties / method / enum
        Added value: +[
        +  "GET",
        +  "POST",
        +  "PUT",
        +  "DELETE"
        +]
      • addedInput schema / properties / method / type
        Added value: +"string"
      • addedInput schema / properties / params / additionalProperties
        Added value: +true
      • addedInput schema / properties / params / type
        Added value: +"object"
      • addedInput schema / properties / server / type
        Added value: +"string"
      • addedInput schema / properties / userAuthorized / oneOf
        Added value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "type": "object"
        +  }
        +]
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "server",
        +  "endpoint"
        +]
    • Changedstrapi_upload_media8 fields changed
      • addedInput schema / properties / format / enum
        Added value: +[
        +  "jpeg",
        +  "png",
        +  "webp",
        +  "original"
        +]
      • addedInput schema / properties / format / type
        Added value: +"string"
      • addedInput schema / properties / quality / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "type": "object"
        +  }
        +]
      • addedInput schema / properties / server / type
        Added value: +"string"
      • addedInput schema / properties / url / additionalProperties
        Added value: +true
      • addedInput schema / properties / url / type
        Added value: +"object"
      • addedInput schema / properties / userAuthorized / oneOf
        Added value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "type": "object"
        +  }
        +]
      • changedInput schema / required
        Previous value: -[]New value: +[
        +  "server",
        +  "url"
        +]
  2. 5 tool updatesv1.0.0
    • Addedstrapi_get_components
    • Addedstrapi_get_content_types
    • Addedstrapi_list_servers
    • Addedstrapi_rest
    • Addedstrapi_upload_media

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct function: schema introspection (components vs content types), server listing, generic REST execution, and media upload. No overlap in purposes.

Naming Consistency4/5

Tools follow a strapi_verb_noun pattern mostly (get_components, get_content_types, list_servers, upload_media), but 'strapi_rest' deviates by using an acronym instead of a verb. Overall consistent.

Tool Count5/5

5 tools is well-scoped for a Strapi MCP server, covering schema discovery, generic API access, media upload, and server management without superfluous tools.

Completeness4/5

The tool set provides schema introspection and a generic REST tool for all CRUD operations, plus media upload. Minor gap: no dedicated tool for content entry listing, but the REST tool covers it with schema guidance.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server

  • The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.

Related MCP Servers

Appeared in Searches