Strapi MCP Server

by misterboe

strapi_rest

Interact with Strapi CMS via REST API to read, update, or delete content. Supports component customization, field selection, and filters. Ensures secure write operations with explicit user authorization.

Instructions

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

  1. Reading components: params: { populate: ['SEO'] } // Populate a component params: { populate: { SEO: { fields: ['Title', 'seoDescription'] } } } // With field selection
  2. Updating components (REQUIRES USER AUTHORIZATION): body: { data: { // For single components: componentName: { Title: 'value', seoDescription: 'value' }, // For repeatable components: componentName: [ { field: 'value' } ] } } userAuthorized: true // Must set this to true for POST/PUT/DELETE after getting user permission
  3. Other parameters:
  • fields: Select specific fields
  • filters: Filter results
  • sort: Sort results
  • pagination: Page through results

Input 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
endpointYesThe API endpoint (e.g., 'api/articles')
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
userAuthorizedNoREQUIRED for POST/PUT/DELETE operations. Client MUST obtain explicit user authorization before setting this to true.

Input Schema (JSON Schema)

{ "properties": { "body": { "additionalProperties": true, "description": "Request body for POST/PUT requests. For components, use: { data: { componentName: { field: 'value' } } } for single components or { data: { componentName: [{ field: 'value' }] } } for repeatable components", "required": false, "type": "object" }, "endpoint": { "description": "The API endpoint (e.g., 'api/articles')", "type": "string" }, "method": { "default": "GET", "description": "HTTP method to use", "enum": [ "GET", "POST", "PUT", "DELETE" ], "type": "string" }, "params": { "additionalProperties": true, "description": "Optional query parameters for GET requests. For components, use populate: ['componentName'] or populate: { componentName: { fields: ['field1'] } }", "required": false, "type": "object" }, "server": { "description": "The name of the server to connect to", "type": "string" }, "userAuthorized": { "default": false, "description": "REQUIRED for POST/PUT/DELETE operations. Client MUST obtain explicit user authorization before setting this to true.", "type": "boolean" } }, "required": [ "server", "endpoint" ], "type": "object" }

You must be authenticated.

Other Tools from Strapi MCP Server

Related Tools

ID: qfdkybxvkp