home / mcp / mcp strapi server
Provides CRUD and media management for Strapi content types via a standardized MCP interface.
Configuration
View docs{
"mcpServers": {
"devlitus-mcp-strapi": {
"command": "node",
"args": [
"/ruta/absoluta/a/mcp-strapi/dist/index.js"
],
"env": {
"STRAPI_URL": "http://localhost:1337",
"STRAPI_API_TOKEN": "tu-token-opcional"
}
}
}
}You can run a dedicated MCP server that exposes Strapi content via standardized CRUD tools, enabling you to manage any Strapi content type, media, and i18n operations from a consistent interface.
Launch the MCP Strapi Server and connect your MCP client to it. You will interact with 13 tools that cover creating, reading, listing, updating, and deleting entries, managing content types and fields, handling media, and working with internationalization. Your client will communicate with a local or remote Strapi instance through the MCP bridge, using the predefined content type names in plural form and the standard tools for each operation.
Prerequisites you need before installing the MCP Strapi Server are Node.js 22 or newer (for native fetch) and a Strapi instance running on localhost:1337 (or a URL you configure via STRAPI_URL). Then install dependencies, configure environment variables, build TypeScript, and run the server.
# Install dependencies
npm install
# Copy environment variables example
cp .env.example .env
# Edit .env with your Strapi configuration
nano .env
# Build TypeScript
npm run build
# Run the MCP Strapi Server
npm startConfigure the MCP connection in your Claude Desktop or MCP client to point at the Strapi MCP bridge. The server runs as a local process, so you provide the runtime command and environment variables that point to your Strapi instance.
{
"mcpServers": {
"strapi": {
"command": "node",
"args": ["/ruta/absoluta/a/mcp-strapi/dist/index.js"],
"env": {
"STRAPI_URL": "http://localhost:1337",
"STRAPI_API_TOKEN": "tu-token-opcional"
}
}
}
}When performing CRUD operations, always use the PLURAL name of the content type. Do not use the internal UID or singular form.
If you need to discover the correct plural name, use the strapi-list-content-types tool and look for the pluralName field in the response.
There is a known exception for adding fields: you must use the full UID (for example, api::product.product) with strapi-add-field; using the plural name alone will not work.
Environment variables you configure (STRAPI_URL and STRAPI_API_TOKEN) are used by the MCP bridge to reach Strapi and control access during operations.
If you encounter a Node 22+ requirement error, verify your Node.js version with node --version and upgrade if necessary.
If Strapi cannot be reached, ensure Strapi is running and accessible at the configured STRAPI_URL, for example by curling the API root.
Create a new entry in a content type using the plural contentType name and a data payload.
Read a specific entry by ID or documentId, with optional field selection and population of relations.
List entries with optional filters, sorting, pagination, fields, and population.
Update an existing entry partially by ID or documentId with provided data and optional population.
Delete an entry by content type and ID or documentId.
Create an entry with locale-specific fields or locales information.
List all available content types.
Get the detailed schema of a specific content type.
Add a new field to a content type using the full UID for the target type.
Retrieve available internationalization locales.
Search and filter files in the media library.
Get a specific media file by its ID.
Upload a file to the media library.