Framer tools in Cogny
Cogny's Framer integration exposes 13 tools (7 read, 4 write, 2 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 (4): creates or changes something.
- Destructive (2): 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. Plans, approvals and limits.
All tools
| Tool | Kind | What it does |
|---|---|---|
get_project_info | Read | Get project metadata, publish state (production/staging deployments and URLs), and configured locales. |
list_collections | Read | List the project's CMS collections (id, name, slug field, managedBy). |
get_collection_fields | Read | Get a collection's fields (id, name, type). |
get_collection_items | Read | Get a collection's items: id, slug, draft flag, and (by default) full field data keyed by field ID. Includes draft items — `draft: true` items are excluded from publishing. |
add_collection_items | Write | Add or update CMS items (UPSERT): an item with a matching `id` is updated, an item without `id` is created. |
update_collection_item | Write | Update one CMS item's slug, draft flag, and/or field values. |
remove_collection_items | Destructive | Delete CMS items by id. |
list_redirects | Read | List the project's URL redirects (id, from, to, expandToAllLocales). |
add_redirects | Write | Add or update URL redirects (UPSERT: an entry with an `id` updates that redirect, without `id` creates one). |
remove_redirects | Destructive | Delete redirects by id. |
get_analytics_docs | Read | Get the documentation for the analytics query language accepted by query_analytics. |
query_analytics | Read | Run a read-only analytics query against the site (visitors, page views, referrers, etc.). |
publish_site | Write | Publish the project, making pending CMS/redirect changes live on the site's domains. |
Exact input schemas come from tools/list once Framer is connected; the free plan is enough to check. Missing something? Your agent can ask for it with request_feature.