developer-toolsproductivity

Strapi CMS

by misterboe

Integrate with Strapi, a leading headless CMS, to manage and query content seamlessly in Strapi-powered applications.

Integrates Strapi CMS content into workflows, enabling manipulation of data for content management and querying in Strapi-powered applications.

github stars

65

Works with any Strapi instanceDevelopment mode supportRobust error handling and validation

best for

  • / Content managers working with Strapi CMS
  • / Developers building headless CMS workflows
  • / Teams automating content operations

capabilities

  • / Create and update Strapi content types
  • / Query content entries with filtering and sorting
  • / Upload and manage media files
  • / Delete content entries and types
  • / Browse paginated content collections
  • / Validate Strapi configurations

what it does

Connects to Strapi CMS instances to manage content types and entries through CRUD operations with filtering and pagination support.

about

Strapi CMS is a community-built MCP server published by misterboe that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with Strapi, a leading headless CMS, to manage and query content seamlessly in Strapi-powered applications. It is categorized under developer tools, productivity. This server exposes 5 tools that AI clients can invoke during conversations and coding sessions.

how to install

You can install Strapi CMS in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport. This server supports remote connections over HTTP, so no local installation is required.

license

MIT

Strapi CMS is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Strapi MCP Server

A Model Context Protocol server for interacting with Strapi CMS. This server enables AI assistants to interact with your Strapi instance through a standardized interface, supporting content types and REST API operations.

<a href="https://glama.ai/mcp/servers/qfdkybxvkp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/qfdkybxvkp/badge" alt="Strapi Server MCP server" /> </a>

⚠️ IMPORTANT DISCLAIMER: This software has been developed with the assistance of AI technology. It is provided as-is and should NOT be used in production environments without thorough testing and validation. The code may contain errors, security vulnerabilities, or unexpected behavior. Use at your own risk for research, learning, or development purposes only.

Changelog

Version 2.6.0 - Enhanced Validation & Debugging Update

  • 🔧 Implemented structured error handling with McpError and ErrorCode
  • ✅ Added comprehensive Zod validation for runtime type safety
  • 📊 Integrated comprehensive logging system with request tracking
  • 🐛 Added debug mode configuration with environment variables
  • 🧹 Removed unused prompt handlers for cleaner codebase
  • ⬆️ Updated all dependencies to latest versions
  • 📖 Added DEBUGGING.md guide for development workflow
  • 🛡️ Enhanced security with better input validation
  • 🚀 Improved developer experience with detailed error messages

For complete version history, see CHANGELOG.md.

Features

  • 🔍 Schema introspection
  • 🔄 REST API support with validation
  • 📸 Media upload handling
  • 🔐 JWT authentication
  • 📝 Content type management
  • 🖼️ Image processing with format conversion
  • 🌐 Multiple server support
  • ✅ Automatic schema validation
  • 🔒 Write protection policy
  • 📚 Integrated documentation
  • 🔄 Version compatibility management

Installation

You can use this server directly with npx in your Claude Desktop configuration:

{
  "mcpServers": {
    "strapi": {
      "command": "npx",
      "args": ["-y", "@bschauer/strapi-mcp-server@2.6.0"]
    }
  }
}

Configuration

Create a configuration file at ~/.mcp/strapi-mcp-server.config.json:

{
  "myserver": {
    "api_url": "http://localhost:1337",
    "api_key": "your-jwt-token-from-strapi-admin",
    "version": "5.*" // Optional: Specify Strapi version (e.g., "5.*", "4.1.5", "v4")
  }
}

You can configure multiple Strapi instances by adding them to this file.

Version Configuration

The server now supports various version formats:

  • Wildcard: "5.", "4."
  • Specific: "4.1.5", "5.0.0"
  • Simple: "v4", "v5"

This helps the server provide version-specific guidance and handle API differences appropriately.

Getting a JWT Token

  1. Log in to your Strapi admin panel
  2. Create an API token with appropriate permissions
  3. Add the token to your config file under the appropriate server name

Usage

List Available Servers

strapi_list_servers();
// Now includes version information and differences between v4 and v5

Content Types

// Get all content types from a specific server
strapi_get_content_types({
  server: "myserver",
});

// Get components with pagination
strapi_get_components({
  server: "myserver",
  page: 1,
  pageSize: 25,
});

REST API

The REST API provides comprehensive CRUD operations with built-in validation and version-specific handling:

// Query content with filters
strapi_rest({
  server: "myserver",
  endpoint: "api/articles",
  method: "GET",
  params: {
    filters: {
      title: {
        $contains: "search term",
      },
    },
  },
});

// Create new content
strapi_rest({
  server: "myserver",
  endpoint: "api/articles",
  method: "POST",
  body: {
    data: {
      title: "New Article",
      content: "Article content",
      category: "news",
    },
  },
});

// Update content
strapi_rest({
  server: "myserver",
  endpoint: "api/articles/123",
  method: "PUT",
  body: {
    data: {
      title: "Updated Title",
      content: "Updated content",
    },
  },
});

// Delete content
strapi_rest({
  server: "myserver",
  endpoint: "api/articles/123",
  method: "DELETE",
});

Media Upload

// Upload image with automatic optimization
strapi_upload_media({
  server: "myserver",
  url: "https://example.com/image.jpg",
  format: "webp",
  quality: 80,
  metadata: {
    name: "My Image",
    caption: "Image Caption",
    alternativeText: "Alt Text",
  },
});

Version Differences (v4 vs v5)

Key differences between Strapi versions that the server handles automatically:

v4

  • Uses numeric IDs
  • Nested attribute structure
  • Data wrapper in responses
  • Traditional REST patterns
  • External i18n plugin

v5

  • Document-based IDs
  • Flat data structure
  • Direct attribute access
  • Enhanced JWT security
  • Integrated i18n support
  • New Document Service API

Security Features

Write Protection Policy

The server implements a strict write protection policy:

  • All write operations require explicit authorization
  • Protected operations include:
    • POST (Create)
    • PUT (Update)
    • DELETE
    • Media Upload
  • Each operation is logged and validated

Best Practices

  1. Always check schema first with strapi_get_content_types
  2. Use proper plural/singular forms for endpoints
  3. Include error handling in your queries
  4. Validate URLs before upload
  5. Start with minimal queries and add population only when needed
  6. Always include the complete data object when updating
  7. Use filters to optimize query performance
  8. Leverage built-in schema validation
  9. Check version compatibility for your operations
  10. Follow the write protection policy guidelines

REST API Tips

Filtering

// Filter by field value
params: {
  filters: {
    title: "Exact Match";
  }
}

// Contains filter
params: {
  filters: {
    title: {
      $contains: "partial";
    }
  }
}

// Multiple conditions
params: {
  filters: {
    $and: [{ category: "news" }, { published: true }];
  }
}

Sorting

params: {
  sort: ["createdAt:desc"];
}

Pagination

params: {
  pagination: {
    page: 1,
    pageSize: 25
  }
}

Population

// Basic request without population
params: {
}

// Selective population when needed
params: {
  populate: ["category"];
}

// Detailed population with field selection
params: {
  populate: {
    category: {
      fields: ["name", "slug"];
    }
  }
}

Troubleshooting

Common issues and solutions:

  1. 404 Errors

    • Check endpoint plural/singular form
    • Verify content type exists
    • Ensure correct API URL
    • Check if using correct ID format (numeric vs document-based)
  2. Authentication Issues

    • Verify JWT token is valid
    • Check token permissions
    • Ensure token hasn't expired
  3. Version-Related Issues

    • Verify version specification in config
    • Check data structure matches version
    • Review version differences documentation
  4. Write Protection Errors

    • Ensure operation is authorized
    • Check if operation is protected
    • Verify request follows security policy

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

FAQ

What is the Strapi CMS MCP server?
Strapi CMS is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for Strapi CMS?
This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
MCP server reviews

Ratings

4.510 reviews
  • Shikha Mishra· Oct 10, 2024

    Strapi CMS is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Piyush G· Sep 9, 2024

    We evaluated Strapi CMS against two servers with overlapping tools; this profile had the clearer scope statement.

  • Chaitanya Patil· Aug 8, 2024

    Useful MCP listing: Strapi CMS is the kind of server we cite when onboarding engineers to host + tool permissions.

  • Sakshi Patil· Jul 7, 2024

    Strapi CMS reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Ganesh Mohane· Jun 6, 2024

    I recommend Strapi CMS for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Oshnikdeep· May 5, 2024

    Strong directory entry: Strapi CMS surfaces stars and publisher context so we could sanity-check maintenance before adopting.

  • Dhruvi Jain· Apr 4, 2024

    Strapi CMS has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Rahul Santra· Mar 3, 2024

    According to our notes, Strapi CMS benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Pratham Ware· Feb 2, 2024

    We wired Strapi CMS into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Yash Thakker· Jan 1, 2024

    Strapi CMS is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.