Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Connects any MCP-compatible AI assistant to Strapi CMS for content management, media handling, internationalization, and more through natural language.

README.md

Strapi MCP Server

AI-powered content management for Strapi CMS via Model Context Protocol.

![PyPI version](https://pypi.org/project/strapi-mcp/) ![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.11+](https://www.python.org/downloads/)

Features

Connect any MCP-compatible AI assistant (Claude, Cursor, etc.) to your Strapi CMS. Manage content, media, locales, and more through natural language.

20 Tools across 8 categories

| Category | Tools | Description | |----------|-------|-------------| | Schema (3) | list_content_types, get_content_type_schema, get_components | Discover and inspect content models | | Content (5) | list_entries, get_entry, create_entry, update_entry, delete_entry | Full CRUD for any content type | | Media (3) | upload_media, list_media, delete_media | Upload, browse, and manage media library | | Publish (3) | publish_entry, unpublish_entry, discard_draft | Control publication lifecycle | | i18n (2) | list_locales, get_localized_entry | Internationalization support | | Search (2) | search_entries, count_entries | Full-text search and counting | | Bulk (1) | bulk_action | Batch create, update, or delete | | System (1) | get_strapi_info | Server info and version detection |

Additional MCP capabilities

  • 3 Prompts: manage_content, content_migration, setup_guide -- guided workflows for common tasks
  • 1 Resource: strapi://help -- comprehensive usage guide with examples

Quick Start

  1. Install the server:
   pip install strapi-mcp
  1. Configure your Strapi connection:
   export STRAPI_BASE_URL="http://localhost:1337"
   export STRAPI_API_TOKEN="your-strapi-api-token"
  1. Connect from your MCP client (see Client Configuration below).

Installation

Using pip

pip install strapi-mcp

Using uvx (no install required)

uvx strapi-mcp

From source

git clone https://github.com/alexzimmermann/strapi-mcp.git
cd strapi-mcp
pip install -e .

Configuration

All settings are configured via environment variables with the STRAPI_ prefix:

| Variable | Default | Description | |----------|---------|-------------| | STRAPI_BASE_URL | http://localhost:1337 | URL of your Strapi instance | | STRAPI_API_TOKEN | (empty) | API token for authentication. Create in Strapi Admin > Settings > API Tokens. | | STRAPI_API_VERSION | auto | Strapi version: auto, v4, or v5 | | STRAPI_TIMEOUT | 30 | HTTP request timeout in seconds | | STRAPI_MAX_PAGE_SIZE | 100 | Maximum entries per page (1-100) |

You can also place these in a .env file in your working directory.

Creating a Strapi API Token

  1. Open your Strapi Admin panel (e.g., http://localhost:1337/admin)
  2. Navigate to Settings > API Tokens
  3. Click Create new API Token
  4. Set Token type to Full Access (or customize permissions)
  5. Copy the generated token and set it as STRAPI_API_TOKEN

Client Configuration

Claude Desktop

Add to your Claude Desktop config file (claude_desktop_config.json):

{
  "mcpServers": {
    "strapi": {
      "command": "uvx",
      "args": ["strapi-mcp"],
      "env": {
        "STRAPI_BASE_URL": "http://localhost:1337",
        "STRAPI_API_TOKEN": "your-strapi-api-token"
      }
    }
  }
}

Cursor

Add to your Cursor MCP config:

{
  "mcpServers": {
    "strapi": {
      "command": "uvx",
      "args": ["strapi-mcp"],
      "env": {
        "STRAPI_BASE_URL": "http://localhost:1337",
        "STRAPI_API_TOKEN": "your-strapi-api-token"
      }
    }
  }
}

Smithery

This server is available on Smithery. Install directly from the Smithery registry or configure manually using the smithery.yaml included in this repository.

Available Tools

| Tool | Description | |------|-------------| | list_content_types | List all available content types in the Strapi instance | | get_content_type_schema | Get the full field schema for a specific content type | | get_components | List all reusable components and their schemas | | list_entries | List entries with filtering, sorting, pagination, and population | | get_entry | Get a single entry by ID (or documentId in v5) | | create_entry | Create a new content entry with field data | | update_entry | Update an existing entry by ID | | delete_entry | Delete an entry by ID | | upload_media | Upload a file to the media library (URL or base64) | | list_media | Browse the media library with pagination | | delete_media | Delete a file from the media library | | publish_entry | Publish a draft entry to make it publicly available | | unpublish_entry | Revert a published entry to draft status | | discard_draft | Discard unsaved draft changes (Strapi v5 only) | | list_locales | List all configured locales for i18n | | get_localized_entry | Get an entry in a specific locale | | search_entries | Full-text search across entries of a content type | | count_entries | Count entries matching optional filter criteria | | bulk_action | Perform bulk create, update, or delete operations | | get_strapi_info | Get Strapi server info, version, and connection status |

Strapi Version Support

This server supports both Strapi v4 and Strapi v5 with automatic version detection.

Auto-detection

When STRAPI_API_VERSION is set to auto (the default), the server detects your Strapi version at startup by:

  1. Fetching a content type entry and inspecting its response format
  2. Checking the admin information endpoint for a version string
  3. Defaulting to v5 if detection is inconclusive

Key differences handled automatically

| Feature | Strapi v4 | Strapi v5 | |---------|-----------|-----------| | Entry format | Nested data.attributes | Flat with documentId | | Entry identifier | Numeric id | String documentId | | Publication status | publicationState=live\|preview | status=published\|draft | | Draft discard | Not available | discard_draft tool |

You can force a specific version by setting STRAPI_API_VERSION=v4 or STRAPI_API_VERSION=v5.

Development

Setup

git clone https://github.com/alexzimmermann/strapi-mcp.git
cd strapi-mcp
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
pip install -e ".[dev]"

Running tests

pytest

Running with coverage

pytest --cov=strapi_mcp --cov-report=term-missing

Code style

ruff check .
ruff format .

License

MIT License. See LICENSE for details.

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.