strapi-mcp
by l33tdawg
The strapi-mcp server is a TypeScript-based MCP server that integrates with Strapi CMS. It provides access to Strapi content types and entries through the MCP protocol.
Last updated: N/A
What is strapi-mcp?
A MCP server for Strapi CMS, allowing access to content types and entries via the MCP protocol.
How to use strapi-mcp?
- Build the server with
npm run build
. 2. Configure your Strapi instance and get an API token. 3. Add the server config to Claude Desktop, providing the path to the built server and necessary environment variables (STRAPI_URL, STRAPI_API_TOKEN, STRAPI_DEV_MODE). 4. Use the provided code snippets with Claude to interact with Strapi content.
Key features of strapi-mcp
Access Strapi content types as resources via strapi:// URIs
Create, read, update, and delete content entries
Supports filtering, pagination, sorting, and population of relations for content retrieval
Provides tools for listing content types, getting entries, creating entries, updating entries, deleting entries, and uploading media
Use cases of strapi-mcp
Listing available content types in Strapi
Retrieving specific content entries based on filters and pagination
Creating new content entries within Strapi
Updating existing content entries
Uploading media files to Strapi
FAQ from strapi-mcp
How do I get a Strapi API token?
How do I get a Strapi API token?
Log in to your Strapi admin panel, go to Settings > API Tokens, and create a new API token with the desired permissions.
What environment variables are required?
What environment variables are required?
STRAPI_API_TOKEN is required. STRAPI_URL is optional (defaults to http://localhost:1337). STRAPI_DEV_MODE is optional (defaults to false).
How do I debug the MCP server?
How do I debug the MCP server?
Use the MCP Inspector by running npm run inspector
. It will provide a URL to access debugging tools in your browser.
What URI formats are supported?
What URI formats are supported?
The server supports strapi://content-type/api::article.article
to get all articles, strapi://content-type/api::article.article/1
to get article with ID 1, and strapi://content-type/api::article.article?filters={"title":{"$contains":"hello"}}
to get filtered articles.
How do I upload media?
How do I upload media?
Use the upload_media
tool with arguments for fileData
(base64-encoded data), fileName
, and fileType
.