- Find and read content
Find pages, blocks and media by name, by URL or under a page, and read everything on them: every property, the blocks in a content area, links and rich text, and on CMS 13 the sections and elements of a Visual Builder page. It also checks which properties a page type has and which values they allow.
- See images
If your assistant handles images, it can look at the ones in the media library, so it can write alt text or pick an image without you describing it.
- Change content, as drafts
Change properties, create pages and blocks, add a language version, upload images and files, and move content. Any change can be tried as a dry run first, to see what would change. Saved changes are drafts.
- Preview every draft
Every draft comes with a link to its preview in the CMS, which opens when you're signed in. The assistant can also check the preview itself, through a short-lived link of its own. Your site can turn that off.
- Publish, if your site allows it
Publishing, unpublishing and deleting are off until the site turns them on. Where an approval sequence applies, the assistant can only send content for review.
Edit your site's content with your AI assistant. It signs in as you.
OptiCli.Mcp adds an MCP server to your site. Your assistant uses your CMS login and access rights, and everything it saves stays a draft until someone publishes it.
Assistant
Used update_content as a dry run
Here's what I'd change on Alloy Track, as a dry run, so nothing is saved yet:
| Property | Now | After |
|---|---|---|
| Teaser text | Involve the whole team! | Plan, track and report with the whole team |
| Page title | Alloy Track, online risk management where the whole team gets involved in the project plan | Alloy Track: plan, track and report with the whole team |
You may edit this page and both values are valid. Shall I save it as a draft?
Assistant
Used update_content
Saved as a draft in your name. Here's how it will look before it goes live:
- saved: a draft, in your name
- approval sequence: applies
- publishing: off on this site
An illustrative conversation, on Optimizely's Alloy sample site.
What your assistant can do
Most of what you'd do in edit view: find, read and change content.
What the site enforces
The site enforces these, whichever assistant you use and whatever you ask it.
- Only what you may do
Every read and save is checked against your access rights in the CMS. Content you can't read looks to the assistant the same as content that doesn't exist.
your access rights - Drafts, without script
Changes are saved as drafts in your name. Script in rich text and other markup is refused.
drafts - Publishing and deleting
Off until the site turns them on. Approval sequences always apply.
off by default - Who can connect
Apps on your own machine, and web-based assistants only from addresses the site allows: claude.ai by default. You see your connections and can revoke them.
your machine, or allowed sites - Instructions hidden in content
The assistant is told to ignore instructions it finds in pages, file names or images. This is guidance to the assistant, not a rule the site can enforce like the ones above.
not enforced
Connect your assistant
The first time, your browser opens your CMS login, then asks you to allow the connection.
- On your own machine
Desktop apps, code editors and command-line agents that support MCP servers with an OAuth sign-in: add a server with the address
https://. No extra setup.your-site.example/ episerver/ opticli/ mcp - In the browser
A web-based assistant reaches your site from its own servers, so the site has to be reachable from the internet, and the site has to allow that assistant's address. claude.ai is allowed by default; for any other, ask your developer.
With Claude
- Claude Desktop
Open the extension file, or drag it into Claude Desktop's Settings → Extensions, and fill in the site's address. Nothing else to install. Your site may have its own extension with the address built in: ask your developer.
opticli-cms.mcpb - claude.ai
Add a custom connector with the site's MCP address. On Team and Enterprise plans an owner may have to add it for the organization. Connectors reach your site from Anthropic's cloud, so the site has to be reachable from the internet.
- Claude Code
claude mcp add --transport http cms https://, thenyour-site.example/ episerver/ opticli/ mcp /mcpin Claude Code to sign in.
# in the site's project: CMS 12 dotnet add package OptiCli.Mcp # or CMS 13 dotnet add package OptiCli.Mcp.Cms13 # Startup.cs services.AddOptiCliMcp(); # after the site's own login setup endpoints.MapOptiCliMcp(); # after MapContent() and the site's endpoints # editors then connect their assistant to https://your-site.example/ episerver/ opticli/ mcp
Install OptiCli.Mcp in the site, in any environment, production included. On CMS 13, use OptiCli.Mcp.Cms13: setup is the same, so upgrading is a package swap. Editors sign in with the site's existing login, Entra ID or ASP.NET Identity, and the assistant uses the same operations as opticli's site agent.
The README has every option: publishing and deleting, preview links, the web addresses assistants may connect from (AllowedRedirectHosts) and a dedicated host.