What is an MCP server?
Anthropic introduced the Model Context Protocol at the end of 2024 so that AI assistants could connect to a company's tools without a bespoke integration for each one. The standard soon spread well beyond Anthropic. In December 2025 the company handed it over to the Agentic AI Foundation, a Linux Foundation body set up with OpenAI and Block, and by then Anthropic counted more than ten thousand active public MCP servers. The protocol now works with ChatGPT, Gemini, Microsoft Copilot and Cursor, so a single server serves all of these assistants.
To do this, an MCP server sits between the assistant and the tool it needs to use. It first describes the actions available in that tool, then carries out the ones the assistant asks for.
Assistant MCP server CMS
| | |
|--tools/list->| |
|<--tools------| |
| name, role, | |
| parameters | |
| | |
|--tools/call->| |
| chosen tool |---write---->|
| + content | draft |
|<--result-----|<------------|The exchange starts when the assistant asks the server for its list of tools. Each one comes with a name, a description and the parameters it expects, and the assistant relies on these descriptions to pick the right tool for the request. It then calls that tool with the content to save, and the server performs the action in the CMS with the permissions of the access key it was given. The assistant only ever sees the parts of the CMS the server chooses to show it.
For a CMS vendor, shipping an MCP server is therefore enough to make the product usable by every one of these assistants, and several already have. WordPress offers an official MCP adapter, through which each site decides which functions agents can reach. Payload CMS, for its part, has had an official MCP plugin since October 2025, which turns a site into an MCP server. A site built on either can take requests from Claude or ChatGPT, as long as the business opens the server and sets its permissions.
Managing your website from Claude or ChatGPT
Once the server is open, running a site can happen in a conversation with the assistant. Whoever looks after the content asks it to update the opening hours on a page, and the assistant makes the change in the CMS itself. The real gain shows on repetitive work, which used to mean opening every page in the admin panel to make the same fix. A single request can now add the missing alt text to every image on a blog.
Nualt's own blog proved the point as soon as it was connected to its MCP server, which went live with the site redesign in early October. Its first fourteen articles existed only in French. Agents wrote the English versions within a day and saved them as drafts in the CMS for us to review. That review turned up mistakes in several articles, which we had corrected the same way, without opening the admin panel.
The work is split accordingly between the agent and the person who runs the site. The agent drafts, translates and corrects, while choosing topics, shaping the substance of each article, reviewing and publishing remain our job.
Payload CMS and MCP: from raw access to tools built for the job
An agent still only works well with tools suited to the task it has been given. Payload's MCP plugin provides a first set with no development required. It generates tools for the CMS collections, and the business chooses which operations to open for each one, from reading to deleting. Each access key then gets its own permissions and acts with the rights of its owner, so the access rules already defined in the CMS still apply.
That flexibility comes from the way Payload is built. The CMS is released under the MIT licence and lives in the same codebase as the website. A business can therefore write its own MCP tools alongside the plugin's, with access to the same data and the same permission rules. It doesn't depend on a third-party extension or a paid tier to evolve them. We cover the other differences between Payload and WordPress in a separate article.
The tools the plugin generates remain generic, though. To create an article, the agent has to supply the content in the CMS's internal structure, where every heading, paragraph and link becomes a data element nested inside others. That works for a simple field such as a title, but it becomes cumbersome and error-prone for an article body with subheadings, links and callouts.
So we added our own tools to Nualt's blog. With them, the agent writes in Markdown, uses the site's blocks and saves the French and English versions of an article in one go, always as a draft. Our editorial guidelines also sit in each tool's description, which the agent reads before using it. Below is one of these tools, shortened, as the agent receives it.
{
"name": "saveArticle",
"description": "Saves an article as a draft, in French and native English.",
"inputSchema": {
"type": "object",
"properties": {
"fr": { "description": "Title, standfirst, Markdown body, FAQ" },
"en": { "description": "Native English text, not a translation" }
}
}
}The description therefore works as an instruction. It reminds the agent that the article stays a draft, and that the English version is written for an English-speaking reader rather than translated word for word. Connecting a CMS's MCP server gives an agent access to its data, while these bespoke tools teach it to work by the business's rules. The same distinction holds for any CMS or back office with an MCP server.
Markdown, the working language of AI agents
These bespoke tools are built on Markdown because it is the format agents write best. Language models learned from vast amounts of Markdown, from technical documentation to developer forums, and chat interfaces display it by default. It also offers just enough structure, with headings, lists and links, while staying readable as it is, even for someone who doesn't code. A plain text file has no hierarchy, whereas HTML or JSON are heavy for people to read and cost a model more tokens.
Markdown has in fact become the norm across the tooling around agents. Their instructions live in files such as CLAUDE.md or AGENTS.md, and llms.txt, meant to introduce a website to AI systems, is itself written in Markdown despite its extension.
A CMS, by contrast, stores content in its own structure, rich text, so that it can display and edit it in its editor. The bespoke tool bridges the two formats. It takes the agent's Markdown and converts it into the CMS structure, then does the reverse when the agent reads an article back. Markdown has nothing for a callout or a call to action, so we defined a tag for each of the site's blocks, which the tool translates both ways.
Safeguards before opening your CMS to an AI agent
These tools come with limits that need setting before the agent is connected. The first is the access key's permissions. A key acting with an administrator's rights gives the agent that person's full powers, so it is better to give it an account restricted to the collections it needs. Deletion generally stays closed, since an agent's mistake there can't always be undone.
The second limit concerns publishing. At Nualt, our tools save every piece of content as a draft, and a person reviews it in the admin panel before publishing. Direct publishing by the agent remains technically possible, but we chose otherwise to keep a review step before anything goes live.
You also need to look at what the agent can see. By default, Payload's plugin sends it whole documents, including fields it has no reason to read, such as contact details left in a form. Its configuration lets you restrict the exposed fields, which matters as soon as the CMS holds personal data.
One risk is specific to agents. Content the agent reads can contain instructions written to hijack it, and the agent may follow them as if they came from the user. Limited permissions and drafts reduce the consequences. The agent can only do what its key allows, and nothing goes live without a review.
At Nualt, MCP tools built around each business
Setting up our blog's MCP server took little development. Most of the work lay in deciding what the agent could do, then turning our editorial rules into its tools' descriptions.
We do the same on our clients' back offices, whether that means a shop's catalogue or a website's content. The tools follow their rules and formats, and they are part of the code the client owns.
MCP and your CMS, your questions
The questions that come up before connecting an AI assistant to a website's CMS.
Can you connect WordPress to ChatGPT or Claude?
Yes. WordPress offers an official MCP adapter that exposes the functions each site chooses to open to agents. Third-party plugins exist too, with varying levels of security.
Can an agent publish to a site without approval?
Technically, yes, if its key allows it. Drafts and human publishing are a choice you make when configuring the server and its tools.
Do you need a developer to set up an MCP server?
A CMS plugin takes a few steps to install for basic access. Tools built for your business and properly configured permissions do require development.
What data can the agent see?
Whatever the server exposes, within the permissions of the key it uses. Left unconfigured, a plugin may send whole documents, which is why limiting the exposed fields matters.
Does MCP work with ChatGPT?
Yes. ChatGPT, Claude, Gemini, Microsoft Copilot and Cursor all support the protocol, with access conditions that vary by plan.
How much does an MCP server for a website cost?
Payload's MCP plugin is free and open source. The cost lies in the time spent building bespoke tools and setting permissions, depending on how complex the site is.
