Every content editor knows the ritual: log into Strapi, hunt down the entry, fix one word in a headline, save, publish, log out. It's exactly the kind of chore an AI content editor can hand off. If you'd rather manage content with AI, Claude Desktop can now handle all of that through a chat window, so you type a request instead of clicking through screens. Strapi is a headless content management system (CMS).
Strapi 5 ships a built-in Model Context Protocol (MCP) server that connects Strapi to Claude Desktop. It's built into Strapi and requires Strapi 5.47.0 or later. Full details live in the MCP server docs.
In brief:
- Strapi's built-in MCP server lets Claude Desktop create, read, update, delete, publish, and unpublish entries through natural-language prompts.
- Setup is a one-time task shared between your developer and whoever configures Claude Desktop.
- New entries always save as drafts when using Draft and Publish, so nothing goes live without your review.
- Claude only sees the Content-Types, fields, and actions your Admin token allows.
What You Can Do as an AI Content Editor
Once connected, you can run your daily editing workload through prompts instead of the Admin Panel. Draft a new article, fix a typo in a live entry, publish an approved piece, or pull something offline, all by describing what you want in plain sentences. Whatever the prompt, Claude acts through Strapi's Content Manager and stays inside the limits of your Admin token, as Strapi's guide for content managers describes.
Changing a headline in the Admin Panel means finding the collection, filtering to the entry, opening it, editing, saving. In Claude Desktop, it's one message. Use the CMS interface when work is complex or visual, including media management. For routine text edits, the whole exchange is one sentence you type without leaving the chat window.
How Claude Desktop Connects to Your Strapi CMS
Strapi's built-in MCP server gives a set of content management tools to MCP clients: Claude Desktop, Claude Code, Cursor, or any other MCP-compatible client. The MCP open standard, announced by Anthropic, connects MCP clients to the systems where data lives. The official MCP documentation compares it to a USB-C port for AI applications: one, standardized connection between an MCP client and the systems that hold your data.
You can complete the setup without working directly with the MCP protocol. This Claude Desktop CMS setup is a one-time bridge someone on your team sets up, after which Claude can see the Content-Types in your Strapi instance and act on them within the limits your team defines. Every request Claude makes is checked against a token your team controls, so the connection never grants more access than intended.
What You'll Need Before You Start
Three things, per the configuration docs. The first two usually come from a developer on your team:
- Strapi with the MCP server switched on. MCP is disabled by default, so a developer needs to switch it on in the server config and restart Strapi. Your project must be on Strapi 5.47.0 or later; the feature has been generally available since 5.49.0.
- An Admin token. A developer or admin creates this under Settings > Administration Panel > Admin Tokens in the Strapi Admin Panel and scopes what it can do. The MCP server requires an Admin token. A Content API token gets rejected with a 401, which is a common setup mistake. Also, the token value is shown only once at creation, so whoever creates it should copy it right away and treat it like a password.
- Claude Desktop installed. The Claude Desktop requirements cover macOS 11 or higher, Windows 10 or higher, and Ubuntu 22.04 LTS or Debian 12 and up. The Linux builds cover
x64orarm64machines. Claude Desktop supports connecting MCP servers.
If your developer hands you a working token and confirms MCP is on, everything left is on your machine.
Claude Desktop MCP Setup, Step by Step
Complete this copy-and-paste Claude Desktop MCP setup once. The configuration requires the server URL and Admin token. You need to put the right snippet in the right file and swap in your token. The full reference lives in Strapi's connection docs if anything below doesn't match what you see.
Open Claude Desktop's Config File
In Claude Desktop, go to Settings > Desktop app > Developer, then click Edit config, following the Strapi configuration. That opens claude_desktop_config.json, the file that tells Claude which external tools it can talk to.
You can also open the file directly if you prefer:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Paste in Your Strapi Connection Details
Replace the placeholder token with yours. Your developer's snippet will look close to this, with YOUR_ADMIN_TOKEN replaced by the token from your team. Remove the first-line comment before saving the file as strict JSON:
File: claude_desktop_config.json
// claude_desktop_config.json
{
"mcpServers": {
"strapi-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:1337/mcp",
"--header",
"Authorization: Bearer YOUR_ADMIN_TOKEN"
]
}
}
}The http://localhost:1337/mcp address assumes Strapi is running on your own machine. If your team hosts Strapi elsewhere, update the URL to match. Your developer will know the right one.
Restart and Confirm the Connection
Quit and reopen Claude Desktop so the change takes effect. To confirm the connection, click the + button in Claude's chat box and select Connectors. You should see your Strapi server listed along with its available tools. You can also review connection logs under Settings > Desktop app > Developer if something looks off.
Once connected, each Collection Type in your Strapi project gives you up to eight tools: listing entries, reading one, creating, updating, deleting, publishing, unpublishing, and discarding draft changes. Which ones you actually see depends on your token's permissions.
Managing Content With Natural Language
The prompts below come from Strapi's official examples, and they read like requests you'd send a colleague, because that's the point.
Create a New Draft
Ask Claude something like:
"Create a new article titled 'Hello' with body 'First post'."
Claude creates the entry in Strapi. When using Draft and Publish on the Content-Type, new entries are always saved as drafts. Content you create through chat is generally created as a draft when using Draft and Publish and only goes live when a user or token with publish permission publishes it, but it can also be created directly in a published state if the creation request specifies status: 'published'.
You can review the draft in the Admin Panel exactly as you would any other, or ask Claude to read it back to you first.
You can go further than one-line entries. An example from the Strapi blog shows a prompt like "Using the project's article authoring guide, write a short blog post about Next.js server actions and save it as a draft article." That example runs in a setup where a developer has added a custom tool via a plugin so Claude can pull the style guide first.
Find and Edit Existing Content
Claude can look content up before touching it. "List the 5 most recent articles" returns a paginated list, newest first. "Show me article with ID abc123" pulls up the full entry. From there, editing is a sentence:
"Update article
abc123, change the title to 'Hello Strapi'."
Only the title changes; other fields stay untouched. The same pattern works for body copy, summaries, or any text field your token can access. It helps to look the entry up first so you're both certain you're editing the right one, especially when several entries share similar titles.
Publish and Unpublish
When a draft is approved, ask:
"Publish article
abc123."
The entry's status flips to published. Pulling a live entry back works the same way in reverse: ask Claude to unpublish it and the entry is unpublished. Both actions map to dedicated publish and unpublish tools that only exist when using Draft and Publish on the Content-Type, and both require the publish permission on your token. There's also a discard_draft tool that throws away draft changes and reverts an entry to its published version.
Work in Other Languages
If your team runs a multilingual site with Strapi's Internationalization feature turned on, every MCP tool accepts an optional locale. Name the language in the prompt:
"Create an article in French with the title 'Bonjour le monde'."
That creates a draft with the locale set to fr. Leave the language out and Strapi uses your default locale. Your token can also be scoped per locale, so a setup where you read English and French content but only create in English is possible.
Writing Prompts That Get the Right Result
A few habits keep chat-based editing predictable:
- Name the exact entry. "Update the pricing page" invites guesswork. "Update article
abc123" doesn't. When you don't know the ID, ask Claude to list or find the entry first, then act on the result. - Be specific about the field. "Change the title to X" beats "fix the article." Claude updates what you name and leaves the rest alone, so precision works in your favor.
- Say the language explicitly for localized content. Strapi's docs recommend naming the target language so the AI client passes the right
localevalue: prefer "Create an article in French" over "Create an article titled Bonjour." - Confirm before publishing. Ask Claude to show you the entry before you tell it to publish. Drafts are cheap; a wrong publish is a support ticket.
These habits make content changes more predictable. It's the same discipline you'd use briefing a new team member: give specific instructions and check the work.
What Claude Can and Can't Do
Claude handles text content well, but a few documented limitations are worth knowing before they surprise you.
- No image uploads through chat. Per the docs: "Media fields accept existing media asset references but the MCP server cannot upload new files. Use Strapi's media library or upload API to add files first, then reference them in MCP tool calls." So attaching a new hero image is a two-step workflow: upload it through the Media Library in the Admin Panel, then ask Claude to reference the existing asset.
- Some field types behave awkwardly. Dynamic Zone fields are passed to Claude as untyped arrays, so it gets no description of each component's internal structure. In practice, that means finishing page-builder layouts in the Admin Panel. Sorting and filtering work only on simple fields such as text, numbers, dates, and booleans, and list requests return at most 100 entries per page.
- Your permissions are the ceiling. Claude can only see and touch what your Admin token allows. If a Content-Type, field, or action is missing from your chat experience, that's the token's scope, not a bug, and your developer can widen it if it should be broader. There's a limit to how wide: a token can only be granted permissions the person creating it already holds.
Staying Safe With Permissions
Everything Claude does in your CMS runs through the Admin token, and Strapi runs four separate checks on every request. Tools your token doesn't cover simply never appear to Claude; if the token lacks delete rights on articles, there's no delete tool for Claude to call.
Fields you can't access are stripped from what Claude sees. Locales can be permitted per action. And each request is re-checked as it runs, including condition-based rules like "only update entries you own."
Strapi advises giving each AI client its own Admin token and scoping it as narrowly as the job allows. A read-only token, for instance, exposes only listing and reading tools, useful for someone who researches content but shouldn't change it.
If your admin changes your access, it applies on your very next request, with no restart on either side, because nothing is cached between requests. And on Strapi's Enterprise plan (5.52.0 and later), every write action Claude performs is recorded in Audit Logs with its origin marked as mcp, so your team can review exactly what the AI changed and when.
Start Small With Your First AI Edit
Working as an AI content editor through Claude Desktop turns recurring CMS chores such as headline fixes and publish toggles into short conversations, while Draft and Publish and token permissions keep the same review gates you rely on today. The setup is a one-time paste into a config file, and the skills are ones you already have: clear, specific requests.
Start small. Ask your developer to switch on the MCP server and hand you a token, then try a single low-stakes edit, something like listing your five most recent articles and fixing one title. If that single exchange fits your workflow better than logging into the Admin Panel, you'll know where this belongs.





