Back to Overview
Johannes Wachter
Johannes Wachter

Core Developer

Sulu Core Developer, open source enthusiast, always excited about the latest in technology, and instantly recognizable by a laugh you’ll hear before you see him.

Back to Overview

Sulu MCP Bundle 1.0.0: Your content, ready for any agent

Your team already works with AI. Editors draft with Claude or ChatGPT, developers work in Claude Code or Codex. But that work happens next to Sulu, not in it: someone copies text between a chat window and the admin interface, fixes the formatting, and the structure you built gets lost on the way.

The Sulu MCP Bundle closes that gap. It turns your Sulu into a server that AI assistants connect to directly, through the Model Context Protocol (MCP), the open standard they all speak. With 1.0.0 it is stable.

What the MCP Bundle does

An assistant works on your content the way an editor would, not on a copy of it.

  • It knows your structure. It learns your webspaces, templates, and fields first, including your project's own SEO and excerpt fields, so new content lands in the right place.
  • It works on real content. Pages, articles, snippets, media, tags, and categories, down to a single block.
  • It hands work back for review. Preview links and direct links into the admin interface let a person check the result.
  • It grows with your project. Other bundles add their own content types and tools, like the Product Bundle, currently in Beta. From Sulu.ai 0.9, the server also offers Sulu.ai's tools for translation, SEO metadata, excerpts, writing assistance, and media metadata, with the same setup and provider your editors use in the admin interfa.

Think of requests like "find every page that still mentions our old product name", "translate this press release into German and keep the block structure", or "which images in this collection have no alt text?".

It works with claude.ai, ChatGPT, Claude Code, Codex, and Mistral Vibe.
How to connect each one is in the tutorial One Sulu. Any agent. Here's how to connect them.

Why this matters now

Agents are becoming part of how content gets made. More and more editorial work starts in an assistant: drafting, translating, cleaning up a section, finding missing alt texts. That only pays off when the assistant can do it where the content lives, with its structure and its rules. Sulu already keeps your content structured and governed. MCP makes it reachable for the assistants your team uses.

You don’t have to pick one AI vendor. MCP is an open standard. The bundle doesn't tie you to an assistant or a model, and it doesn't require Sulu.ai.

It follows the current specification. The July revision of MCP deprecated Dynamic Client Registration in favour of Client ID Metadata Documents and dropped sessions from the protocol. The bundle supports both registration methods, with Client ID Metadata Documents on by default. Connecting an assistant means pasting a URL, logging in, and approving. No client to create, no secret to hand out.

It's open source. MIT licensed, like Sulu, and built as a standard Symfony bundle. You can read and extend every line that decides what an agent may do.

What makes it safe

With most integrations, AI write access means a technical user, an API key with full access, and a second permission system. The MCP Bundle adds no permission model of its own.

  • A person logs in and approves. No MCP user, no API key. Every connection starts with your Sulu login and a consent page that names the client, its host, and what it asks for. Clients from hosts you don't trust are marked as not verified. The approval covers exactly that request: if the client changes what it asks for, Sulu asks again.
  • Agents act as the editor, not as admin. Every request runs with the permissions of the person who connected. Tools they can't use are hidden. Revoke their access in the admin, and the assistant loses it too.
  • Risky tools don't exist until you want them. Deleting, publishing, removing blocks, and uploading media are off by default, and removed entirely, not just hidden.
  • The token has to cover the request. Sulu checks on every request whether the token may call tools or read resources.
  • Errors don't leak internals. A failing tool tells the assistant what to change, without SQL, class names, or file paths.

The details are in Five gates between an AI assistant and your content. How Sulu safely fetches client metadata from a URL someone else chose is in Fetching a stranger's URL safely.

What's new in 1.0.0

Since RC4, only small changes went in, mostly from manual testing:

  • Your own SEO and excerpt fields can now be read and written by the assistant.
  • Tool descriptions only mention publish and reorder tools when they are switched on.
  • Consent and error messages work as described above.
  • Stricter input checks: malformed requests get a 4xx instead of a 500, registration refuses invalid client metadata, and content refuses locales your site doesn't have.

No breaking changes since RC4. Coming from an earlier release candidate, follow the RC4 upgrade notes first.

What's next: from your team's agents to everyone's

1.0.0 is a stable base, not a finished product. We'll keep following each revision of MCP and contributing to it, much of it upstream in the MCP and agent parts of Symfony AI, so the work reaches every Symfony project, not just Sulu. Every new specification, client, and tool gets the same security review the release candidates went through. And we'll keep improving the tools based on what your agents actually do with them.

Today, every connection starts with a login, which is right for agents that change content. But more and more of your audience never opens your website. They ask an assistant, and it answers with whatever it can find. The next step we're looking at is public, read-only access to what is live: no login, nothing unpublished, and off until you turn it on for a webspace. Assistants then find your content as you built it, structured, current, and in the right language, instead of a scraped copy.

This matters most for products. Shoppers ask assistants to compare options, check what fits, and narrow down a choice. If the assistant can read your product data directly, with families, attributes, and variants intact, it answers from your catalogue instead of a reseller's copy. With the Product Bundle, that data already lives in Sulu.

If your project needs this, tell us what your agents should be able to ask.

Get started

composer require sulu/mcp-bundle

You need PHP 8.2 or newer, Symfony 7.3 or 8.x, and Sulu 3.0 or newer. The README and the configuration guide cover the setup. Start with the defaults: agents read and prepare drafts, and a person makes the final publish decision.

Thanks to everyone who tested the release candidates. Tell us how your agents work with Sulu in GitHub Discussions or in the Sulu Slack.

Johannes Wachter
Johannes Wachter

Core Developer

Sulu Core Developer, open source enthusiast, always excited about the latest in technology, and instantly recognizable by a laugh you’ll hear before you see him.