Every team building an AI-native product eventually hits the same wall: the agent framework and the content backend do not speak to each other. The content is in Strapi. The AI surfaces — agents, copilots, coding tools — cannot reach it natively. There is no standard interface between what your editors manage and what your agents can act on.
Starting today, the Strapi MCP server is public in Beta. Install it on a self-hosted Strapi v5 instance, connect any MCP-compatible agent framework, and start wiring your agents against real Strapi content.
This is early access, not a finished line. The teams that wire real agent projects against the Beta are the ones who shape what the production release looks like. Open issues on GitHub or drop feedback into the Strapi Discord or the GitHub discussion to share what you find; all channels are live and watched by the Strapi team.
What is in the Beta
Strapi v5.47.0 ships a working MCP server covering CRUD, publish, and unpublish operations. The tooling surface will expand over time; the Beta is where you tell us what to prioritize.
What you get:
- Content-type tools generated from your schema : every collection type exposes up to 8 tools (list, get, create, update, delete, publish, unpublish, discard_draft) and every single type exposes up to 6 (get, write, delete, publish, unpublish, discard_draft). Filtering, sorting, pagination, relations, and i18n locales are all supported on the list and get tools.
- Any MCP-compatible framework: Claude Desktop, OpenAI agents, Cursor, or any custom client that implements the MCP standard connects to your Strapi instance through the same endpoint. Configure the URL once; every MCP-compatible framework you point at it works.
- Fine-grained access control via Admin tokens: every MCP session is scoped to an Admin token you create in the Settings. The token's permissions determine exactly which content types, fields, and operations the agent can reach.
- Self-hosted, free feature: the MCP server ships with Strapi v5.47.1-beta and later on all self-hosted instances, with no tier gating on the open source repo.
- Plugin ecosystem surface: the MCP server opens a new integration surface the Strapi plugin community can build against. Agent-facing tools, AI-integration plugins, and MCP connectors from the ecosystem start here.
How to install and wire up an agent
Getting to a working agent connection takes three steps: enable the server in your Strapi config, create an Admin token, and point your AI client at the endpoint.
Step 1 — Enable via server configuration
The MCP server is built into Strapi. No separate package to install — add mcp: { enabled: true } to config/server.ts:
export default ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
app: {
keys: env.array('APP_KEYS'),
},
mcp: {
enabled: true,
},
});Restart Strapi. The MCP endpoint is live at http://[your-strapi-url]/mcp.
Step 2 — Create an Admin token
Go to Settings → Admin tokens in your Strapi admin panel, create a new token, and copy the value. The token's permissions determine which content types and operations the MCP server exposes: a read-only token shows only listing and reading tools; a full-access token exposes the complete CRUD and publish surface.
Step 3 — Connect your AI client
Point your MCP client at the endpoint and pass the Admin token in the Authorization header. The exact config depends on the client.
On Claude Desktop, for example, add the following to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json), replacing YOUR_ADMIN_TOKEN:
{
"mcpServers": {
"strapi-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://[your-strapi-url]/mcp",
"--header",
"Authorization: Bearer YOUR_ADMIN_TOKEN"
]
}
}
}Your Strapi content types now appear as tools: ask to list entries, follow relations, create drafts, or publish content on the same schema your editors use in admin.
Cursor, Windsurf, and other MCP clients — any client that supports Streamable HTTP transport connects to http://[your-strapi-url]/mcp with an Authorization: Bearer YOUR_ADMIN_TOKEN header. Configuration snippets for Cursor, Windsurf, and Claude Code are in the documentation.
What we want feedback on
These are the four areas where your signal matters most:
- Integration friction: where does setup break or slow down? Which step produced an error that took more than five minutes to debug? The specific command, the exact message, the framework you were connecting — that is what we need.
- Agent framework compatibility: which MCP-compatible frameworks are in your stack? Tell us what worked and where you hit gaps.
- Content-model edge cases: nested relations, dynamic zones, multi-locale entries, draft-and-publish states, custom field types. Internal QA schemas are clean; production content models are not. If agent traversal breaks on your real schema rather than a minimal test fixture, that is the Beta find we need.
- Schema exposure: are the right content types visible through MCP? Are there fields or types you expected to control but could not? The configuration for what agents can and cannot read is something we want real signal on before GA.
File issues on GitHub. Every report in the Beta window directly shapes the GA release.
What’s next
Once Beta feedback converges on a stable surface, the Strapi MCP server moves to GA. We're building this with the community: the more teams wiring real agent projects against the Beta, the faster we stabilize what's shipped and decide what to build next. Share your story in the Strapi GitHub discussion or in the Strapi Discord server.