Cogny CLI · CMS

    Framer scripted from the shell.

    Read and write Framer CMS collections, manage redirects, pull site analytics, and publish — from Bash over the Framer MCP, built on Framer’s official Server API. Content ops on a Framer site without opening the editor.

    # 1. sign up (free for 15 calls) — uses your git email
    $ npx @cogny/cli init --agent claude-code
    
    # 2. see every Framer tool
    $ cogny tools list
    
    # 3. call any tool from Bash — no MCP wiring
    $ cogny tools call mcp__Framer__list_collections --input '{…}'
    ❯ start Cogny Solo — $9/mo@cogny/cli on npm →

    cogny --who

    TWO PATHS
    You're a human

    Updating a Framer CMS collection means opening the project and editing items one by one in the CMS panel. The CLI upserts a whole batch of items in one call, and your site analytics come back as JSON an agent can diff week over week. Connect Framer once in Cogny Solo and let your coding agent — or scheduled reports — do the querying for you.

    ❯ start Solo
    You're an agent

    Self-onboard with one command. The CLI issues a key, wires nothing, and exposes every Framer tool over JSON-RPC. First 15 calls are free.

    $ npx @cogny/cli init --agent claude-code

    cogny tools call

    3 EXAMPLES

    Real tool names from the Framer MCP. Send --input JSON, get JSON back.

    mcp__Framer__list_collectionsList the project’s CMS collections.
    $ cogny tools call mcp__Framer__list_collections \
      --input '{}'
    example response
    {
      "collections": [
        {
          "id": "c1a2b3",
          "name": "Blog",
          "slugFieldName": "Title",
          "managedBy": "user"
        },
        {
          "id": "d4e5f6",
          "name": "Case Studies",
          "slugFieldName": "Client",
          "managedBy": "user"
        }
      ]
    }
    mcp__Framer__add_collection_itemsUpsert CMS items in one batch (id = update, no id = create).
    $ cogny tools call mcp__Framer__add_collection_items \
      --input '{"collection_id":"c1a2b3","items":[{"slug":"cli-first-content-ops","draft":true,"fieldData":{"fld_title":{"type":"string","value":"CLI-first content ops"}}}]}'
    example response
    {
      "status": "success",
      "added_or_updated": 1
    }
    mcp__Framer__query_analyticsRun a read-only analytics query against the site.
    $ cogny tools call mcp__Framer__query_analytics \
      --input '{"query":"visitors by page","from_date":"2026-07-01","to_date":"2026-07-15"}'
    example response
    {
      "rows": [
        {
          "page": "/",
          "visitors": 4812
        },
        {
          "page": "/blog/cli-first-content-ops",
          "visitors": 903
        }
      ]
    }

    cogny tools list

    MORE

    A sample of the rest of the Framer surface. Run cogny tools list --json for every tool and its input schema.

    mcp__Framer__get_project_infomcp__Framer__get_collection_fieldsmcp__Framer__get_collection_itemsmcp__Framer__update_collection_itemmcp__Framer__remove_collection_itemsmcp__Framer__list_redirectsmcp__Framer__add_redirectsmcp__Framer__remove_redirectsmcp__Framer__get_analytics_docsmcp__Framer__publish_site

    cogny --faq

    Is this an official Framer CLI or MCP?

    No — Framer ships no official MCP server. This is the Cogny CLI calling Cogny’s Framer MCP over the cogny-mcp-proxy, which wraps Framer’s official Server API (the framer-api SDK). You connect a project API key + project URL once in Cogny. Framer B.V. is not affiliated.

    Which Framer API does it use?

    The official Framer Server API (open beta since early 2026). It has no REST endpoints — the proxy drives the official SDK against a headless instance of your project, so each call carries a few seconds of session overhead. Batch item writes into one add_collection_items call.

    Do CMS edits go live immediately?

    No. Item and redirect changes land in the project but only reach the live site when publish_site is called — and draft items are excluded from publishing. That makes draft-first content workflows safe by default.

    What can the API key access?

    Only the one project it was created in — Framer keys are per-project with no account-wide scope. Create one under Site Settings → API Keys and revoke it there any time.

    related CLIs

    /cli/webflow/cli/wordpress/cli/ghost/cli/ga4

    Building an agent? The full tool map for all servers is one fetch: /cli/llms.txt