MCP.so
Sign In
Servers

Strapi MCP

@l33tdawg

An MCP server for your Strapi CMS

Overview

What is Strapi MCP?

Strapi MCP is a Model Context Protocol server that integrates with any Strapi CMS instance. It provides AI assistants with access to Strapi content types and entries, enabling automated content management through MCP resources and tools.

How to use Strapi MCP?

Install from npm (npm install strapi-mcp) or from source. Configure environment variables (STRAPI_URL, STRAPI_ADMIN_EMAIL, STRAPI_ADMIN_PASSWORD, and optional STRAPI_API_TOKEN and STRAPI_DEV_MODE). Run via Cursor MCP configuration (in ~/.cursor/mcp.json) or Claude Desktop config, or directly with node --env-file=.env build/index.js. Use built-in tools to manage Strapi content.

Key features of Strapi MCP

  • List and read content types as resources
  • Create, read, update, and delete entries
  • Upload media files via base64 or local file path
  • Connect and disconnect relations between entries
  • Manage components (list, create, update, get schema)
  • Publish and unpublish entries
  • Robust error handling and configuration validation

Use cases of Strapi MCP

  • Let AI assistants read and modify Strapi content types and entries
  • Automate content creation, updates, and publishing workflows
  • Manage component schemas and relationships programmatically

FAQ from Strapi MCP

What authentication methods are supported?

You can use admin email/password (recommended for full schema access) or an API token as a fallback. The server prefers admin credentials and validates configuration to reject common placeholders.

What environment variables are required?

STRAPI_URL (default http://localhost:1337), STRAPI_ADMIN_EMAIL, and STRAPI_ADMIN_PASSWORD are recommended. STRAPI_API_TOKEN is optional. Set STRAPI_DEV_MODE=true to enable development mode features.

What are the file size limits for media uploads?

The upload_media tool has a ~1MB base64 size limit (~750KB file) to prevent context overflow. upload_media_from_path supports files up to 10MB from local file paths.

How can I filter, paginate, and sort entries?

The get_entries tool supports filters (e.g., {"title": {"$contains": "hello"}}), pagination (page, pageSize), sort (e.g., ["title:asc"]), and populate for relations.

What is the purpose of STRAPI_DEV_MODE?

Setting STRAPI_DEV_MODE to true enables development mode features in Strapi, allowing the server to access additional functionality during local development. It defaults to false.

More from Other