An MCP server for your Strapi CMS that provides access to content types and entries through the MCP protocol
Strapi MCP MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. An MCP server for your Strapi CMS that provides access to content types and entries through the MCP protocol.
This MCP server integrates with any Strapi CMS instance to provide: - Access to Strapi content types as resources - Tools to create and update content types in Strapi - Tools to manage content entries (create, read, update, delete) - Support for Strapi in development mode - Robust error handling with clear diagnostics and troubleshooting guidance - Configuration validation to prevent common setup issues
The server ships on npm as strapi-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.
Once Strapi MCP is connected, these are the calls the assistant has available:
list_content_types — List all available content types in Strapiget_entries — Get entries for a specific content type with optional filtering, pagination, sorting, and population of relationsget_entry — Get a specific entry by IDcreate_entry — Create a new entry for a content typeupdate_entry — Update an existing entrydelete_entry — Delete an entryupload_media — Upload a media file to Strapi (max ~750KB file due to base64 context limits)upload_media_from_path — Upload a media file from local file path (max 10MB, avoids context overflow)get_content_type_schema — Get the schema (fields, types, relations) for a specific content typeconnect_relation — Connect related entries to an entry's relation fielddisconnect_relation — Disconnect related entries from an entry's relation fieldcreate_content_type — Create a new content type using the Content-Type Builder API (Requires Admin privileges)You will need 5 environment variables: STRAPI_URL, STRAPI_ADMIN_EMAIL, STRAPI_ADMIN_PASSWORD, STRAPI_API_TOKEN, STRAPI_DEV_MODE. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Strapi MCP's toolset — list_content_types, get_entries, get_entry and 11 more — is a fair guide to whether it matches your workflow. It is maintained by l33tdawg; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| list_content_types | List all available content types in Strapi |
| get_entries | Get entries for a specific content type with optional filtering, pagination, sorting, and population of relations |
| get_entry | Get a specific entry by ID |
| create_entry | Create a new entry for a content type |
| update_entry | Update an existing entry |
| delete_entry | Delete an entry |
| upload_media | Upload a media file to Strapi (max ~750KB file due to base64 context limits) |
| upload_media_from_path | Upload a media file from local file path (max 10MB, avoids context overflow) |
| get_content_type_schema | Get the schema (fields, types, relations) for a specific content type. |
| connect_relation | Connect related entries to an entry's relation field. |
| disconnect_relation | Disconnect related entries from an entry's relation field. |
| create_content_type | Create a new content type using the Content-Type Builder API (Requires Admin privileges). |
| publish_entry | Publish a specific entry. |
| unpublish_entry | Unpublish a specific entry. |
{
"mcpServers": {
"strapi": {
"command": "npx",
"args": ["-y", "strapi-mcp"],
"env": {
"STRAPI_URL": "your-value",
"STRAPI_ADMIN_EMAIL": "your-value",
"STRAPI_ADMIN_PASSWORD": "your-value",
"STRAPI_API_TOKEN": "your-value",
"STRAPI_DEV_MODE": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| STRAPI_URL | Endpoint or connection string the server talks to. | Yes |
| STRAPI_ADMIN_EMAIL | Configuration value read at startup. | Optional |
| STRAPI_ADMIN_PASSWORD | Configuration value read at startup. | Optional |
| STRAPI_API_TOKEN | Credential the server authenticates with. | Yes |
| STRAPI_DEV_MODE | Configuration value read at startup. | Optional |
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Inbox intelligence — search, read, draft and send Gmail through your assistant with OAuth auto-setup.
Read and write Jira, Confluence, Bitbucket, JSM and Compass from your AI client — with your own permissions.
Read and send Telegram messages through your assistant — chats, channels and history via the client API.
Enables Discord bot integration with Model Context Protocol (MCP) compatible applications like Claude Desktop.
Exposes REST APIs defined by OpenAPI specifications as Model Context Protocol (MCP) tools, facilitating seamless integration into MCP-based workflows.