<!-- Generated from Cogny's tool registry. Canonical page: https://cogny.com/integrations/optimizely-cms/tools -->

# Optimizely CMS tools in Cogny

Cogny's Optimizely CMS integration exposes 11 tools (7 read, 3 write, 1 destructive) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.

- **Read** (7): only reads data.
- **Write** (3): creates or changes something.
- **Destructive** (1): deletes, removes or replaces something.

Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations.

## Notes

Optimizely CMS connects with an API key you create in your CMS (SaaS) instance under Settings → API Keys: a client ID and a client secret, and the secret is shown only once. What the agent may do follows the key's access rights under Settings → Set Access Rights, per page and inherited by the pages below it. Read is enough for every read tool. Creating pages needs Create, editing drafts needs Change, and `publish_draft` needs Publish.

New pages and edits are always saved as drafts. `create_page` creates a draft under the parent you name. `update_draft` changes only the fields you pass, on a draft. To change a page that is already live, `create_draft_version` copies the published version into a new draft first, so the live page doesn't change while you work. Nothing is public until `publish_draft`, which is marked destructive so MCP clients ask before it runs. In Cogny's chat on Free and Solo every publish needs a fresh approval, and in tickets the agent stages the draft for review instead of publishing. `publish_draft` can also schedule a publish for a later time.

Field values are passed as plain values, e.g. `{"heading": "Spring sale"}`. Rich text is `{"html": "<p>…</p>"}`. Check which fields a page type takes with `get_content_type` before you create one.

Lists return up to 100 items per call and page with `page_index`.

## Known gaps

- Optimizely CMS (SaaS) only. CMS 12 self-hosted (PaaS) sites use a different API on your own host, and aren't covered yet. Many CMS 12 installs don't have the Content Management API that writes would need.
- Optimizely Web Experimentation is a separate integration with its own token.
- No delete, unpublish, move or copy of content. Nothing can be marked ready or sent for review, and nothing in review can be approved or rejected.
- No upload of images or other media. Existing media can be referenced in a field by its key.
- Reads return field values as the CMS stores them. Blocks inside an experience or section come back as the version's `composition`; they are not resolved into separate items.
- There is no full-text search. Find content by status and locale with `list_content_versions`, or browse with `list_children` from a page you know.
- The live website URL of a page isn't returned, only its URL segment.

## All tools

| Tool | Kind | What it does |
|---|---|---|
| `list_content_versions` | Read | List pages and other content across your Optimizely CMS, with type, locale, status and URL segment. |
| `list_children` | Read | List the pages and other content items directly under a page or folder in your Optimizely CMS. |
| `get_content` | Read | Get one content item from your Optimizely CMS: its type, parent, locales and versions. |
| `get_content_version` | Read | Get the fields of a page in your Optimizely CMS — title, body, SEO fields and blocks — for one version. |
| `list_content_types` | Read | List the content types in your Optimizely CMS and the fields each one takes. |
| `get_content_type` | Read | Get one content type in your Optimizely CMS with every field it takes. |
| `list_locales` | Read | List the languages (locales) set up in your Optimizely CMS. |
| `create_page` | Write | Create a new page in your Optimizely CMS as a draft under a parent page. |
| `update_draft` | Write | Edit a draft page in your Optimizely CMS: title, SEO fields, body text and other fields. |
| `create_draft_version` | Write | Start a new draft of a published page in your Optimizely CMS, so it can be edited without changing the live page. |
| `publish_draft` | Destructive | Publish a draft page in your Optimizely CMS so it goes live on your website. |

Exact input schemas come from `tools/list` once Optimizely CMS is connected; the free plan is enough to check.

Missing something? Your agent can ask for it with `request_feature`.

---

All integrations: https://cogny.com/integrations/tools/index.md
Plans, approvals, limits and data protection: https://cogny.com/buying-guide.md
What Cogny is: https://cogny.com/llms.txt
