Skip to main content
Glama

connect_framer

Connect a Framer project for SERVER-SIDE editing (no open editor needed — this is XeoRank's own transport, not Framer's editor-bound MCP plugin). Ask the user to create an API key in Framer: Site Settings → General → API Keys, and paste it with the project URL. Validates the key, stores it encrypted, returns framer_site_id for framer_cms / framer_canvas / framer_publish. Re-connecting updates the key. Call with no arguments to LIST already-connected projects.

Input Schema

NameRequiredDescriptionDefault
labelNoOptional friendly label
domainNoAlternative to site_id — the brand domain to bind to
api_keyNoFramer project API key (Site Settings → General → API Keys)
projectNoFramer project URL (https://framer.com/projects/<id>) or bare project id
site_idNoXeoRank brand site id (from list_sites) to bind this project to. STRONGLY recommended: Framer's API exposes no domain, so without it the project can't be joined to crawl/audit/AI-visibility data and connect returns a warning.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only basic annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false), the description carries the behavioral burden well: it discloses that the key is validated and stored encrypted, that a framer_site_id is returned for downstream framer_cms/framer_canvas/framer_publish, that re-connecting updates the key, and that a missing site_id yields a warning. No contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded — the server-side scope and the sibling distinction come first, then setup steps, then the return value and the no-arg list mode. The parentheticals are informative rather than filler, though the run-on density is slightly heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description names the key return value (framer_site_id) and its consumers, documents the zero-argument list behavior, and supplies the user-facing prerequisite flow. Nothing an agent needs to invoke or sequence this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the description adds relationship-level meaning the schema states only per-field: the strongly-recommended site_id binding and its consequence (warning + inability to join crawl/audit/AI-visibility data), domain as an alternative to site_id, and the key+project pairing workflow. This exceeds the baseline 3 for full-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("Connect a Framer project") and immediately scopes it to server-side editing, explicitly distinguishing itself from Framer's editor-bound MCP plugin and implicitly from the other connect_* siblings. An agent knows exactly what this tool does and what it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operational steps for when to use it: ask the user for an API key via the named Framer UI path, paste key with project URL, and call with no arguments to LIST already-connected projects. It does not name a competing sibling (e.g. connect_wordpress/connect_vercel) or state an explicit when-not condition, so it falls just short of the top tier.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources