Plone MCP for AI. Control your entire site's data from chat.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Plone MCP Server lets your AI agent manage Plone CMS content, users, and workflows directly from natural language prompts. You can search for articles by metadata, update published pages, create new user accounts, or move content through its entire publication lifecycle—all without opening the web interface.
What your AI can do
Create content
Generates a brand new content object within Plone.
Create group
Creates a new access group for the CMS.
Create user
Adds a new user account to Plone.
Search for, retrieve, create, update, and delete content objects using specific paths or filtering metadata.
Check a piece of content's current publication status and trigger formal transitions (e.g., Draft to Review, Review to Published).
Manage user credentials by listing accounts, creating new users, or updating existing profile details.
List available groups and update group membership records to control site access permissions.
Perform complex full-text searches across the entire CMS structure, filtering by type or path for targeted results.
Ask an AI about this
Waiting for input…
Plone MCP Server: 17 Tools for CMS Backend Control
These tools let your AI agent perform every core administrative function on Plone, from user creation to workflow transitions.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Plone on VinkiusCreate Content
Generates a brand new content object within Plone.
Create Group
Creates a new access group for the CMS.
Create User
Adds a new user account to Plone.
Delete Content
Removes an existing content object from Plone.
Delete Group
Deletes an access group in the CMS.
Delete User
Removes a user account from Plone.
Get Content
Retrieves all data for a specific content object using its unique path.
Get Group
Pulls detailed information about a specified access group.
Get User
Retrieves details for a specific user account in Plone.
Get Workflow
Checks the current status and history of a content object's workflow state.
List Groups
Returns a list of all available groups defined in Plone.
List Users
Lists every user account currently registered with the CMS (requires Manager role).
Search Content
Searches for content objects across Plone based on keywords, filters, and paths.
Transition Workflow
Forces a change in a content object's workflow state (e.g., Draft to Published).
Update Content
Modifies existing content objects, supporting partial field updates.
Update Group
Changes the details or membership of an existing access group.
Update User
Updates specific profile fields for a user account, like email or name.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Plone, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Plone. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 17 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Editing CMS pages shouldn't feel like navigating 50 tabs deep in an outdated web UI.
Today, updating a simple page involves opening the CMS. You navigate by path. You click into the object. You find the right metadata field buried under three different tabs. You make your change and save it—often with a confusing confirmation popup that requires another click to dismiss.
With this MCP server, you just tell your agent what needs fixing. 'Change the date on /about-us to next Tuesday.' Done. The agent runs `update_content` in the background. It handles the pathing and field mapping. You get a clean confirmation that the content is updated.
Plone MCP Server: Control your entire site's data from chat.
The manual steps—finding the correct API endpoint, logging in with multiple credentials, and executing a sequence of form submits—are gone. Your agent handles all that complexity behind the scenes.
What's different is that you never have to see the CMS interface again. You just talk to your AI client, and it runs the necessary backend commands for you.
What your AI can actually do with this
You've got a Plone CMS instance that needs managing, but you don't wanna open up the web interface and click through ten menus just to change one thing. This server lets your AI agent take full control of everything—the content, the users, the permissions, even where a piece of article sits in its publishing cycle.
You treat the whole CMS like a set of direct commands you give to your agent.
Content Lifecycle Management
You can't just find stuff; you gotta target it precisely. If you know a content object's unique path, you use get_content to grab all its data immediately. Need to start something new? You run create_content to generate an entire article or page from scratch. If the article needs tweaking—say, you changed some facts and need to modify the body copy—you use update_content, which handles partial updates so you only change what's necessary.
When that piece is stale junk, you just run delete_content to remove it completely.
For finding content when you don't know the path, you've got two options: You can hit up advanced searching by running search_content, which lets you look across the entire CMS structure using keywords, paths, or filters. Or, if you need to retrieve everything about a specific item using its known metadata, you use get_content again.
Workflow State Control
Content moves through stages—Draft, Review, Published—and your agent handles that movement like a pro. First, check where the piece stands by running get_workflow; this gives you the current status and history of any content object. Once you confirm it's ready for the next step, you don't manually submit it; you force the change using transition_workflow, moving it from Draft to Review or Review straight to Published.
User Accounts & Administration
Managing who gets to see what is critical. You can list every registered user by calling list_users (you'll need Manager rights for that). Need a new employee set up? Run create_user to add their account, and if they leave, you use delete_user to scrub the record.
When an existing profile needs tweaking—say, their email changed or they got a new title—you run update_user. For accessing specific user data, simply call get_user with their identifier. This whole system lets your agent manage credentials directly.
Permissions and Group Control
You control who sees what using groups. You can pull a master list of every group defined in the CMS by running list_groups. If you need to check out the details of one specific permission level, use get_group. To make changes, you've got two tools: You run update_group if you need to change membership or modify the details of an existing access group.
If that whole group is obsolete, running delete_group takes it right out of the system.
This setup means your agent handles everything—from creating a new user and assigning them to a specific permission group (create_group) to writing a full article, moving it through its entire publication cycle, and updating a profile field—all based only on what you tell it in plain language.
019ea5ff-0862-73c9-a7f2-c81e691be9ba Here's how it actually works
The bottom line is you get to control your CMS backend directly from natural conversation, without needing manual navigation through the web interface.
Subscribe to this server on Vinkius and provide your Plone Instance URL and Personal Access Token.
Your AI client sends a request (e.g., 'Publish the article at /q3-report').
The agent translates that into tool calls (like transition_workflow), executes the action against Plone, and reports the final status.
Who is this actually for?
Content Managers who are tired of manually navigating deep article paths just to update a headline. Site Administrators who need to onboard or audit users faster than clicking through user lists. Developers who need to programmatically inspect content structures and metadata.
Uses create_content and update_content to rapidly publish news items or update technical documentation across multiple paths.
Runs bulk searches using search_content or manages user accounts with list_users when onboarding new team members.
Inspects content structures, checks metadata via get_content, and monitors the full history of a page's lifecycle using get_workflow.
What Changes When You Connect
Find content instantly. Instead of browsing folders, use search_content to find all documents containing 'roadmap' in the /news folder and get a list right away.
No more manual drafts. Use transition_workflow to move articles directly from 'Draft' to 'Published' just by telling your agent what needs doing.
Manage users on the fly. Need to onboard someone? Your agent uses create_user or updates permissions with update_group, saving you dozens of clicks in the backend UI.
Partial field edits are a thing. Never manually edit content again; use update_content to change just the title and date without touching the body text.
Full visibility into site structure. You can audit an entire article's history—who changed what, when, and why—with get_workflow.
See it in action
Publishing a Quarterly Report
The Content Manager wrote the Q4 report but it sits in 'Draft' status. They ask their agent to publish it. The agent runs get_workflow first, sees it's stuck on 'Review', and then uses transition_workflow to push it straight to 'Published'. Problem solved: the content goes live instantly.
Auditing Old Content
The Site Admin needs to find every document mentioning 'legacy API' that was written before 2023. They ask their agent, which runs search_content with specific metadata and keywords. The agent returns a precise list of paths needing review.
Onboarding New Staff
A new employee starts. Instead of logging into three different dashboards, the manager tells their agent to 'Create user Jane Doe and add her to the Marketing group.' The agent runs create_user and update_group in sequence.
Updating Global Metadata
A core legal policy changes. Instead of finding every related page, the team uses their agent to run targeted updates via update_content, changing the 'Legal Notice' field across twenty pages simultaneously by path.
The honest tradeoffs
Confusing search and retrieval
Asking for 'the latest article about AI' and then getting a list of 50 results, forcing you to manually click through them all.
Use search_content first if you need options. If you know the exact path (e.g., /tech/ai-2024), use get_content instead—it pulls the whole object immediately.
Full page updates
When only changing a single headline, running a full update that risks wiping out other metadata or formatting.
Always use update_content. This tool supports partial updates, meaning you can change the title without touching the body text.
Ignoring workflow status
Trying to publish content that's actually stuck in 'Needs Legal Review' because you didn't check the state first.
Before publishing, run get_workflow on the piece of content. This confirms its current state and tells you exactly which tool (transition_workflow) is required next.
When It Fits, When It Doesn't
Use this server if your primary need is managing structured enterprise content (articles, policies, user profiles) within a dedicated CMS like Plone. It excels at administrative tasks: creating users, updating groups, or moving articles through defined stages.
Don't use it if you are primarily doing pure marketing automation (like sending emails via an API) or simple file storage management that doesn't require versioning/workflows. For those cases, look for a dedicated messaging service tool. If your goal is just basic data querying without needing to write the content back, another read-only database connector might be better.
Questions you might have
How do I search content using the search_content tool? +
You prompt the agent with keywords and filters (e.g., 'Documents about X in /folder/'). The search_content tool runs a full-text query, returning a list of matching paths and titles.
Can I publish an article using transition_workflow? +
Yes. If the content exists at a path, you ask your agent to 'Publish this.' The tool uses transition_workflow to move the status from its current state (e.g., Draft) to Published.
Which tool should I use to update a user's email? +
Use the update_user tool. It specifically handles updating profile details for an account, so you just need to provide the user ID and the new email address.
What if I only want to see content by its path? +
You run get_content. This tool fetches every piece of metadata and content associated with a specific, known URL or path. It's best for auditing single pages.
When calling `list_users`, what permissions are required to view all user records? +
The tool requires a Manager role for execution. You must ensure your Personal Access Token belongs to an account with administrative privileges, or the call will fail.
If I use `get_content` but provide an incorrect content path, how does the system report the error? +
It returns a specific 404 status code indicating that the resource was not found. You'll need to verify the absolute content path before attempting retrieval.
Does `search_content` perform well when searching across thousands of pages? +
Yes, the search function is built for scale and uses full-text indexing. It processes large datasets efficiently by filtering results on both metadata and content paths.
What happens to associated data if I use `delete_group`? +
The tool only deletes the group record itself; it doesn't touch existing content. You must manually reassign or delete any content tied to that group before running the command.
Can I search for specific content types like Folders or Documents? +
Yes! Use the search_content tool and provide the portal_type parameter (e.g., 'Folder' or 'Document') to filter your results.
How do I update the title or description of an existing page? +
Use the update_content tool. Provide the path to the content and a json_body containing the fields you want to change, such as {"title": "New Title"}.
Is it possible to manage user accounts through this server? +
Yes, if your credentials have sufficient permissions, you can use list_users, get_user, and create_user to manage the site's membership.
We've already built the connector for Plone. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 17 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.