Sulu MCP Bundle 1.0.0-RC4: No client to create. No session to share.
Connecting an assistant to Sulu used to start with paperwork: create an OAuth client, copy an ID and a secret, paste them into the assistant. With RC4, you paste your server URL, log in to Sulu, and approve. That's it.
The MCP specification deprecated Dynamic Client Registration in its July revision and recommends Client ID Metadata Documents instead. RC4 ships them on by default, together with the new stateless protocol. We've just released Sulu MCP Bundle 1.0.0-RC4. If you are new to the bundle, start with the launch post.
Your assistant identifies itself with a URL
With Client ID Metadata Documents (CIMD), an assistant identifies itself with a URL instead of a pre-registered client. Sulu looks up the assistant's name there and shows it on the consent page, together with the host it came from.
What this means for you:
- No client to create. You approve the assistant on the consent page, and nobody has to hand out a secret.
- You see who is asking. Assistants from
claude.aiandchatgpt.comare shown as they are. Every other one is markednot verified. - Your server stays in control. Sulu only looks up a client when a signed-in user connects it, and it does so within strict limits.
RC4 works with claude.ai, ChatGPT, Claude Code, Codex, and Mistral Vibe. Assistants that don't use CIMD yet keep connecting the way they did before.
How we made it safe to fetch a URL someone else chose is a story of its own. It follows in this series.
More control over who connects
- Choose how assistants register. CIMD and Dynamic Client Registration each have their own switch. Turn off one, or both. Clients you create by hand with
sulu:mcp:create-clientkeep working either way. - Scopes on every request. Sulu now checks for each request whether the token is allowed to call tools or read resources, not only whether it is valid.
Either way, every assistant still works with the Sulu permissions of the person who connected it. Nothing more.
Ready for your load balancer
Assistants on the new protocol revision no longer need a session. This means any server behind your load balancer can answer any request. No sticky routing, no shared session store. Assistants on older revisions keep working as before.
Better tools for agents
- Safer approvals. Every tool now tells the assistant whether it only reads, changes, or deletes, so assistants that ask before risky actions know when to ask.
- Links to review. Agents can hand you a direct link to the page, article, or media item they worked on in the admin interface.
- More page settings. Agents can set up links and shadow pages, with the same rules as the admin form.
- Products in search. Content search now covers pages, articles, and products in one call. The Product Bundle is in Beta.
- Stricter permissions. Deleting content needs the delete permission in every locale of that content.
- Extension points for bundles that want to add their own content types or risky tools.
Breaking changes
- New database table. CIMD is on by default and needs the table
sulu_mcp_cimd_client. Create it before you deploy, or assistants that switch to CIMD can't connect. typeis nowresourceKey. The content tools takeresourceKeywith plural values (pages,articles,snippets,products). Assistants pick this up on their own. Update your own prompts and scripts if they sendtype.- Product tools moved to the Product Bundle. The Product Bundle (Beta) brings its MCP tools itself, starting with its first release.
- Deleting checks every locale. A user who may delete in one locale but not in another can no longer delete the content through MCP.
Version landscape
RC4 is the fourth release candidate on the way to 1.0 and replaces RC3. It requires PHP 8.2 or newer, Symfony 7.3 or 8.x, and Sulu 3.0 or newer. The bundle stays MIT licensed, like Sulu itself, and does not require Sulu.ai.
Upgrade notes
composer require "sulu/mcp-bundle:^1.0@RC"
# create the new table (or: bin/console doctrine:schema:update)
bin/console doctrine:migrations:diff
bin/console doctrine:migrations:migrate
# add to your cron, for example daily
bin/console sulu:mcp:cleanup-clientsThen replace type with resourceKey in your own prompts and scripts. All settings and the security setup are in the configuration guide.
What's next
Want to try RC4 with your own assistant? Our step-by-step guide shows how to connect Sulu to claude.ai, ChatGPT, Claude Code, Codex, and Mistral Vibe. From the first login to your first agent workflow.
Read the guide: One Sulu. Any agent.
RC4 brings the bundle in line with the current MCP specification. Before 1.0, we want to hear how it behaves in your projects: which assistants you connect, where agents choose the wrong tools, and what your editors expected but didn't find.
Share your feedback in GitHub Discussions or in the Sulu Slack.
