Strapi MCP Server

An MCP server for your Strapi CMS that provides access to content types and entries through the MCP protocol

Local serverstdioTypeScript

What is the Strapi MCP MCP server?

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.

What you get

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

  • List and read content types
  • Get, create, update, and delete entries
  • Upload media files
  • Connect and disconnect relations
  • Get content type schemas
  • CRITICAL FIX: — Fixed timeout issue in relation tools - connect_relation and disconnect_relation now properly handle validation errors instead of timing out

Setting it up

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.

What the assistant can call

Once Strapi MCP is connected, these are the calls the assistant has available:

  • 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)

Configuration and credentials

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.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Strapi MCP.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the strapi mcp mcp server does with a few real requests.

Choosing this one

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.

Available tools

ToolWhat it does
list_content_typesList all available content types in Strapi
get_entriesGet entries for a specific content type with optional filtering, pagination, sorting, and population of relations
get_entryGet a specific entry by ID
create_entryCreate a new entry for a content type
update_entryUpdate an existing entry
delete_entryDelete an entry
upload_mediaUpload a media file to Strapi (max ~750KB file due to base64 context limits)
upload_media_from_pathUpload a media file from local file path (max 10MB, avoids context overflow)
get_content_type_schemaGet the schema (fields, types, relations) for a specific content type.
connect_relationConnect related entries to an entry's relation field.
disconnect_relationDisconnect related entries from an entry's relation field.
create_content_typeCreate a new content type using the Content-Type Builder API (Requires Admin privileges).
publish_entryPublish a specific entry.
unpublish_entryUnpublish a specific entry.

How to install the Strapi MCP MCP server

{
  "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.

Configuration

VariableDescriptionRequired
STRAPI_URLEndpoint or connection string the server talks to.Yes
STRAPI_ADMIN_EMAILConfiguration value read at startup.Optional
STRAPI_ADMIN_PASSWORDConfiguration value read at startup.Optional
STRAPI_API_TOKENCredential the server authenticates with.Yes
STRAPI_DEV_MODEConfiguration value read at startup.Optional

Example prompts to try

  • Use Strapi MCP to list content types.
  • Use Strapi MCP to get entries.
  • Use Strapi MCP to get entry.

Frequently asked questions

It connects Strapi MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (list_content_types, get_entries, get_entry, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Strapi MCP directly.