integrations tools optimizely-cms

    Optimizely CMS MCP for your AI agent

    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.

    • 7readonly reads data.
    • 3writecreates or changes something.
    • 1destructivedeletes, 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. Plans, approvals and limits

    set it up.

    Add Cogny to your AI client once, then connect Optimizely CMS in Cogny. Every Optimizely CMS tool below appears in the client.

    • Claude CodeRun claude mcp add --transport http cogny https://app.cogny.com/mcp, then authorise in the browser.
    • Claude.aiSettings → Connectors → Add custom connector, URL https://app.cogny.com/mcp, then log in and pick your workspace.
    • ChatGPTSettings → Apps → Advanced settings → Developer mode → Create app, URL https://app.cogny.com/mcp, authentication OAuth.
    • CursorIn Cogny, Settings → Data & Integrations → Connect AI Clients shows the block to paste into .mcp.json, with an API key.
    • CodexRun codex mcp add cogny --url https://app.cogny.com/mcp.

    Full setup, and how to undo it

    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.

    what each tool does.

    Read 7 · only reads data

    • list_content_versionsReadList pages and other content across your Optimizely CMS, with type, locale, status and URL segment.
    • list_childrenReadList the pages and other content items directly under a page or folder in your Optimizely CMS.
    • get_contentReadGet one content item from your Optimizely CMS: its type, parent, locales and versions.
    • get_content_versionReadGet the fields of a page in your Optimizely CMS — title, body, SEO fields and blocks — for one version.
    • list_content_typesReadList the content types in your Optimizely CMS and the fields each one takes.
    • get_content_typeReadGet one content type in your Optimizely CMS with every field it takes.
    • list_localesReadList the languages (locales) set up in your Optimizely CMS.

    Write 3 · creates or changes something

    • create_pageWriteCreate a new page in your Optimizely CMS as a draft under a parent page.
    • update_draftWriteEdit a draft page in your Optimizely CMS: title, SEO fields, body text and other fields.
    • create_draft_versionWriteStart a new draft of a published page in your Optimizely CMS, so it can be edited without changing the live page.

    Destructive 1 · deletes, removes or replaces something

    • publish_draftDestructivePublish 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.