- Home
- MCP servers
- MCP Strapi Server
MCP Strapi Server
- typescript
0
GitHub Stars
typescript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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.
How to use
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.
How to install
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 start
Additional setup and configuration
Configure 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"
}
}
}
}
Notes on content types and usage
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.
Troubleshooting
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.
Available tools
strapi-create
Create a new entry in a content type using the plural contentType name and a data payload.
strapi-read
Read a specific entry by ID or documentId, with optional field selection and population of relations.
strapi-list
List entries with optional filters, sorting, pagination, fields, and population.
strapi-update
Update an existing entry partially by ID or documentId with provided data and optional population.
strapi-delete
Delete an entry by content type and ID or documentId.
strapi-create-with-locales
Create an entry with locale-specific fields or locales information.
strapi-list-content-types
List all available content types.
strapi-get-schema
Get the detailed schema of a specific content type.
strapi-add-field
Add a new field to a content type using the full UID for the target type.
strapi-get-i18n-locales
Retrieve available internationalization locales.
strapi-search-media
Search and filter files in the media library.
strapi-get-media
Get a specific media file by its ID.
strapi-upload-media
Upload a file to the media library.