Sulu MCP Bundle: Let AI assistants work directly inside Sulu
We're excited to announce the first release of the Sulu MCP Bundle, available today on GitHub under the MIT license as 1.0.0-RC1. The bundle turns a Sulu 3.x installation into an MCP server, so AI assistants such as Claude, ChatGPT and Codex can work on your content directly instead of handing you text to paste into the admin.
You know the routine it replaces. You draft in a chat window, copy the result into Sulu, repair the formatting, hunt for the right category, and upload the image by hand. With the bundle installed, that handover disappears.
MCP, the Model Context Protocol, is an open standard for connecting assistants to external systems. Once you connect an assistant, it no longer has to guess how your content is structured. It can work with your webspaces, templates, pages, and media, and it does so within the permissions of the Sulu user who connected it.
Working on your content, not next to it
With the bundle installed, the carrying stops. Ask for a blog article about the new office and you get one: in Sulu, on your blog template, in the right place in the tree, linked straight back into the admin interface. The same goes for translating a press release, restructuring blocks on a landing page, or fixing missing alt texts.
By default, everything an assistant creates or changes stays a draft. Publishing is off until you switch it on. Even then, an assistant can only publish where the connected user is allowed to.
Tools for everyday editorial work
The tools cover the content editors work with every day: pages, articles, media, snippets, categories, and blocks. Blocks matter more than that list suggests. Because the bundle addresses them individually, an assistant can add, update, and reorder single blocks instead of rewriting a whole page to change one paragraph.
One tool does nothing but brief the assistant on your installation: which webspaces exist, which templates are available, and which fields they define. That is the difference between an article that fits your blog template and one you have to rebuild by hand.
Requests that work today look like this:
- "Find every page that still mentions our old product name."
- "Translate the press release into German and keep the block structure."
- "Tag these five articles as Product and add them to the Releases category."
- "Which images in the press collection are missing alt texts?"
Your Sulu permissions still decide what's allowed
There's no MCP user, no API key with unlimited access, and no second permission system to keep in sync. Connecting an assistant means logging in with your normal Sulu account and approving the client on a consent screen. Every request it makes from then on runs as you.
An editor who can't publish in a webspace has an assistant that can't publish there either. Sulu filters out the tools you have no permission for before the assistant ever learns they exist, so a role without access to the media library never sees the media tools at all. Revoke someone's access in the admin interface and their assistant loses it too.
You decide what an assistant may change
Some operations are hard to take back. Deleting content, publishing, and removing blocks are sensitive, so they stay off until you switch them on. You enable each group on its own:
# config/packages/sulu_mcp.yaml
sulu_mcp:
server_url: '%env(SULU_MCP_SERVER_URL)%'
dangerous_tools:
delete: false # pages, articles, snippets, tags, categories
publish: false # publishing, unpublishing, revoking preview links
block_remove: false # removing blocksThe defaults give a comfortable starting point: an assistant can read everything and prepare everything, and a person still presses publish.
Open source by design
The Sulu MCP Bundle is MIT licensed, like the rest of Sulu. It's a standard Symfony bundle in the open source core, so your developers can read exactly what an assistant is allowed to do with your content, and extend it with the framework they already work in.
You don't need Sulu.ai to use it. The bundle works with whichever assistant you connect, on your account, with your provider. Sulu.ai builds on the same foundation and will add more advanced tools and integrations on top, but that's an addition, never a requirement.
Getting started
The bundle needs an existing Sulu 3.0.8 project on PHP 8.2 or newer and Symfony 7.3 or newer.
composer require "sulu/mcp-bundle:^1.0@RC"
From there it is a handful of steps: register the bundle along with the two it depends on, import the routes, and set the public URL of your installation.
The README walks through each step, and the configuration guide has the firewall block ready to copy.
The most popular AI tools each have their own setup guide in the repository, some register themselves, others need credentials you generate up front. The repository also ships a recommended system prompt, which is worth using. It explains Sulu's content model to the assistant and improves how precisely the tools are used.
Tell us what's missing
The bundle lives at github.com/sulu/SuluMcpBundle. Reading through it is the fastest way to see exactly what an assistant is allowed to do with your content.
The bundle is already in use, but we're deliberately releasing it as a release candidate before 1.0. We want projects beyond our own to help shape the tool interface before we consider it stable. We're especially interested in which tools are missing, which ones assistants misuse, and what your editors expected to find but didn't.
We'd love your feedback in GitHub Discussions or our Slack community, and if you would like a hand with the setup, our support services are there no matter how big or small your project is.
