{
  "data": {
    "a": {
      "slug": "framer",
      "name": "Framer Server API",
      "vendor": "Framer",
      "vendorUrl": "https://www.framer.com",
      "kind": "http-api",
      "category": "design",
      "summary": "Framer is a website builder with a design canvas. Its Server API and remote MCP server let scripts and AI agents edit projects, CMS content and code components, and publish sites.",
      "url": "https://www.anchorterminal.com/tools/framer",
      "markdownUrl": "https://www.anchorterminal.com/tools/framer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/framer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/framer.json",
      "dns": "framer.grade.anchorterminal.com",
      "license": "proprietary",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.framer.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "framer-api"
        },
        {
          "registry": "npm",
          "name": "@framer/agent"
        }
      ],
      "auth": "mixed",
      "authNotes": "The Server API takes one API key per project, created under Site Settings, General, and passed with the project URL to `connect()`. Framer MCP signs in with OAuth (authorization code with PKCE and dynamic client registration, one scope `mcp:project`) and acts with the account's permissions on every project it can reach. `@framer/agent` asks the user to grant access to each project in the browser, and its changes land on a branch.",
      "pricing": "freemium",
      "pricingNotes": "The Server API is free during the open beta on all plans. Framer says it'll likely charge per use with a monthly free allowance, and estimates a full hour of processing at a few dollars. The MCP Server is free during the preview on every plan, including Free, and AI usage through MCP follows the client's own plan. Site plans are Free, Basic $10 a month and Pro $30 a month billed yearly, with extra editors at $20 a month and custom Enterprise pricing (https://www.framer.com/pricing).",
      "priceSummary": "$10 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payment support in the Server API docs.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 335756,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.framer.com/developers/server-api-introduction",
      "llmsTxt": "https://www.framer.com/llms.txt",
      "capabilities": [
        "design.files",
        "design.components",
        "design.canvas",
        "design.code"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "typescript",
        "llms-txt",
        "mcp",
        "oauth",
        "beta"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.5,
        "grade": "D",
        "agentReady": false,
        "rank": 984,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 47,
          "maintenance": 77,
          "payments": 25,
          "reliability": 43,
          "schema": 69,
          "security": 49,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Framer's remote MCP server and the Server API both reach the canvas, components, code files and CMS, and nothing goes live until someone publishes. Both are pre-release, with no published rate limits, post-preview price or SLA. MCP sign-in has one scope covering every project the account can reach, and Server API keys can publish with no read-only option.",
        "bestFor": "Coding agents and MCP clients that build or update Framer sites, CMS content and code components.",
        "strengths": [
          "Official remote MCP server at https://mcp.framer.com/mcp with OAuth sign-in, no local bridge and no open editor needed",
          "Same surface as the Plugin API, so canvas nodes, components, code files and CMS are writable",
          "Agent changes can go on a branch for review, by default with `@framer/agent` and on request through MCP",
          "Free on every plan during the Server API beta and the MCP preview",
          "Dated changelog with breaking changes flagged by major version"
        ],
        "weaknesses": [
          "Framer MCP's OAuth has one scope, `mcp:project`, and reaches every project the signed-in account can",
          "Framer MCP is a preview without localisation support, and Framer doesn't publish its tool list",
          "No published rate limits, post-beta price or SLA for the Server API or Framer MCP",
          "Server API calls aren't transactional, so failures can leave partial edits",
          "Server API keys can publish and deploy directly, with no read-only option"
        ],
        "agentNotes": [
          "Add https://mcp.framer.com/mcp as a Streamable HTTP server and sign in to Framer in the browser. Give the agent the full project link, not the project name",
          "Ask for a Framer branch before editing through MCP, and publish only after the person has reviewed it",
          "For localisation, use `npx @framer/agent setup`, since Framer MCP doesn't support it yet",
          "With the Server API, `connect(projectUrl, process.env.FRAMER_API_KEY)`, keep batches small and idempotent, and close the connection when done",
          "Server API `publish` creates a preview deployment. Promote it with `deploy()` only after checking it, and note v5.0.0 changed CMS array fields"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.5
          }
        ],
        "editorialScores": {
          "ergonomics": 47,
          "maintenance": 77,
          "payments": 25,
          "reliability": 43,
          "schema": 69,
          "security": 49,
          "transparency": 58
        },
        "provenanceScore": 92,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install framer-api",
        "claudeCode": "claude mcp add --transport http --scope user framer https://mcp.framer.com/mcp",
        "config": {
          "mcpServers": {
            "framer": {
              "url": "https://mcp.framer.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.files",
        "tool": "https://letme.dev/framer"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Basic site plan",
          "unit": "month",
          "usd": 10,
          "note": "billed yearly"
        },
        {
          "item": "Pro site plan",
          "unit": "month",
          "usd": 30,
          "note": "billed yearly"
        },
        {
          "item": "Additional editor",
          "unit": "seat-month",
          "usd": 20
        }
      ],
      "provenance": {
        "legalEntity": "Framer B.V.",
        "domain": "framer.com",
        "domainRegistered": "1996-12-30",
        "domainNote": "framer.com was registered in 1996, long before Framer B.V. acquired it.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.framer.com/legal/terms-of-service/",
        "privacy": "https://www.framer.com/legal/privacy-statement/",
        "statusPage": "https://www.framerstatus.com",
        "changelog": "https://www.framer.com/developers/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-24",
        "score": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/framer.json",
      "live": {
        "slug": "framer",
        "probe": {
          "target": "https://mcp.framer.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T23:14:26.050682214Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 274,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 151,
          "p95ms24h": 319,
          "samples24h": 244,
          "samples30d": 3257,
          "days": [
            {
              "date": "2026-10-25",
              "probes": 102,
              "ok": 102
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 236,
              "ok": 236
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.framerstatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:48.294943419Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@framer/agent",
            "version": "0.0.48",
            "seenAt": "2026-11-06T23:26:54.107566953Z"
          },
          {
            "registry": "npm",
            "name": "framer-api",
            "version": "5.1.0",
            "seenAt": "2026-11-06T23:26:53.60828478Z"
          }
        ],
        "npmWeekly": 213612,
        "securityTxt": {
          "url": "https://framer.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-11-01T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:40.530878868Z"
        },
        "llmsTxt": {
          "url": "https://www.framer.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:32.765960172Z"
        },
        "domain": {
          "domain": "framer.com",
          "registered": "1996-12-30",
          "source": "https://rdap.verisign.com/com/v1/domain/framer.com",
          "checkedAt": "2026-11-01T14:20:55.085366246Z"
        },
        "pages": [
          {
            "url": "https://www.framer.com/developers/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:28:46.1861385Z",
            "changedAt": "2026-11-06T13:49:31.427669282Z",
            "fingerprint": "460f9d699453"
          },
          {
            "url": "https://www.framer.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:28:52.226841369Z",
            "changedAt": "2026-11-06T13:49:38.733407917Z",
            "fingerprint": "7829b18af6c6"
          },
          {
            "url": "https://www.framer.com/legal/privacy-statement/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:28:48.234341919Z",
            "changedAt": "2026-11-06T13:49:34.182018798Z",
            "fingerprint": "901b66df30fd"
          },
          {
            "url": "https://www.framer.com/legal/terms-of-service/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:28:50.26383085Z",
            "changedAt": "2026-11-06T13:49:36.362394237Z",
            "fingerprint": "14a4a648f2d6"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.framer.com/mcp",
          "checkedAt": "2026-11-07T01:44:39.873757578Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:44:39.873757578Z"
        },
        "updatedAt": "2026-11-07T23:14:26.050682214Z"
      }
    },
    "answer": "Framer Server API scores 52.5 (D) on agent readiness against UX Pilot MCP server's 33 (F), and leads in every scored category.",
    "b": {
      "slug": "ux-pilot-mcp",
      "name": "UX Pilot MCP server",
      "vendor": "UX Pilot",
      "vendorUrl": "https://uxpilot.ai",
      "kind": "mcp",
      "category": "design",
      "summary": "UX Pilot's hosted MCP server lets an agent find, organise and import design work, run UX reviews and generate React prototypes on the UX Pilot canvas, over OAuth or an API key, with deletes only after the user confirms.",
      "url": "https://www.anchorterminal.com/tools/ux-pilot-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/ux-pilot-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ux-pilot-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ux-pilot-mcp.json",
      "dns": "ux-pilot-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/uxpilot-ai/uxpilot-mcp",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.uxpilot.net/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Native OAuth sign-in recommended, or an Authorization: Bearer API key as a fallback. Set up from Account Settings, MCP Access.",
      "pricing": "freemium",
      "pricingNotes": "A free tier to start generating; paid plans on the pricing page, which renders with script (checked 2026-11-07).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://uxpilot.ai/mcp",
      "registryName": "ai.uxpilot/uxpilot",
      "capabilities": [
        "design.canvas",
        "design.code",
        "design.review"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "api-key",
        "freemium",
        "free-tier",
        "mcp-registry"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 33,
        "grade": "F",
        "agentReady": false,
        "rank": 1410,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 45,
          "payments": 20,
          "reliability": 15,
          "schema": 45,
          "security": 39,
          "transparency": 22
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "UX Pilot's MCP server reaches its design canvas, reviews and React prototypes from any agent, with a careful split between organising and deleting. Little else is public, no status page, limits, errors or readable legal pages.",
        "bestFor": "Designers on UX Pilot who want an agent to organise screens, review UX and build React prototypes.",
        "strengths": [
          "Organise tools never delete; deletes need the user to confirm",
          "Grouped actions with a help tool for fields and examples",
          "OAuth, or a key as a fallback",
          "Free tier"
        ],
        "weaknesses": [
          "No status page, limits or error docs",
          "Terms and privacy not readable without script",
          "No changelog for a 3.0 server"
        ],
        "agentNotes": [
          "Ask the help tool for an action's fields before calling it",
          "Delete only after the user confirms",
          "Treat imported AI output and comments as untrusted"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 33
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 45,
          "payments": 20,
          "reliability": 15,
          "schema": 45,
          "security": 39,
          "transparency": 5
        },
        "provenanceScore": 38,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add ux-pilot --transport http https://mcp.uxpilot.net/mcp",
        "config": {
          "mcpServers": {
            "ux-pilot": {
              "url": "https://mcp.uxpilot.net/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.canvas",
        "tool": "https://letme.dev/ux-pilot-mcp"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "UX Pilot",
        "domain": "uxpilot.ai",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The terms and privacy pages render with script, so the legal entity wasn't read."
        ],
        "score": 38
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ux-pilot-mcp.json",
      "live": {
        "slug": "ux-pilot-mcp",
        "probe": {
          "target": "https://mcp.uxpilot.net/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T23:14:56.455790645Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 179,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 233,
          "p95ms24h": 515,
          "samples24h": 46,
          "samples30d": 46,
          "days": [
            {
              "date": "2026-11-07",
              "probes": 46,
              "ok": 46
            }
          ]
        },
        "updatedAt": "2026-11-07T23:14:56.455790645Z"
      }
    },
    "edges": [
      {
        "by": 53,
        "category": "transparency",
        "leads": "framer",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under published terms, version 1.8 effective 16 June 2026, whose definition of the Service excludes Framer APIs. `framer-api` is MIT on npm, and `@framer/agent` 0.0.47 declares no licence (18 of 30). Privacy statement version 1.7 of 12 June 2026 names Framer B.V., gives retention periods (transaction data 7 years, account data up to 2 years after closure) and links a DPA. Its AI line only covers training 'third-party general-purpose AI models' on personal data (22 of 30). Breaking changes are flagged by major version, such as the v4.0.0 package rename and v5.0.0 CMS array fields, with no deprecation policy or notice period. The External Agents page is now labelled legacy and stays supported 'while Framer MCP reaches feature parity', with no end date (8 of 20). Transfer countries are listed in the Trust Center per the privacy statement. We didn't confirm a subprocessor list (10 of 20). Per the 24 October check, not re-read on 4 November (framer.com paused under its Acceptable Use Policy).",
          "b": "Terms and privacy render with script and weren't readable (0). Data handling not read (0). A tool that maps old tool names to new calls eased the 3.0 change, no dates (5 of 20). Subprocessors not found (0). 0 + 0 + 5 + 0 = 5."
        },
        "scores": {
          "a": 75,
          "b": 22
        }
      },
      {
        "by": 32,
        "category": "maintenance",
        "leads": "framer",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Per the 24 October check, not re-read on 4 November, Framer MCP was published on 22 October 2026, and Plugin API v5.1.0 and `framer-api` 5.1.0 on npm on 24 September (30). In the 90 days from 6 August, v5.0.0 (8 September), v5.1.0 (24 September), `@framer/agent` 0.0.47 (15 October, per the 24 October npm reading) and the Framer MCP release (22 October) are four dated entries; v4.1.0 (4 August) has left the window (20). Closed service with a public changelog, an updates page and a community forum. We didn't test support (10 of 15). Presence of Framer MCP in the official MCP registry wasn't established; the 24 October search used the registry's JSON API, which this check doesn't use (0). One official SDK, now at the Plugin API's version (10 of 15). `framer-api` 5.1.0 declares Node 22 or later and two runtime dependencies (7 of 10). Framer's Acceptable Use Policy (version 2.0, effective 9 April 2026) bars robots and other automatic devices from accessing any content hosted by Framer, so framer.com hosts and framerstatus.com weren't re-read on 4 November and this note rests on the 24 October check.",
          "b": "Registry 3.0.0 and repository on 4 November 2026 (30). Dated releases not found (0). Issues not read (0). Official registry entry ai.uxpilot/uxpilot (15). README-only repository (0). 30 + 0 + 0 + 15 + 0 = 45. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API."
        },
        "scores": {
          "a": 77,
          "b": 45
        }
      },
      {
        "by": 28,
        "category": "reliability",
        "leads": "framer",
        "name": "Reliability",
        "reasons": {
          "a": "Per the 24 October check, not re-read on 4 November, Framer runs a Better Stack status page at framerstatus.com with App, Editor, API, Hosting, Sites, Website and Community components, and no component for Framer MCP (20). Its RSS feed showed three incidents in the 90 days to 24 October 2026, analytics collection degraded at a third-party provider for about 1 hour 15 minutes on 12 August, elevated errors in the AI tools for 1 hour 15 minutes on 22 September and the Editor unavailable for 39 minutes on 14 October, with the API component at 100 per cent over 30 days. Minor only. 25 October to 4 November is unread and gets no credit of its own (20 of 30, kept). No rate limits published for the Server API or Framer MCP (0). No 429 or retry guidance. The FAQ says the API 'is not in any way transactional' and scripts must handle partial failures themselves (3 of 15, partial kept). No SLA published. The Enterprise plan lists an 'Uptime guarantee' without published terms (0). The Server API is in open beta and Framer MCP is labelled preview on the pricing page (0 of 10). Framer's Acceptable Use Policy (version 2.0, effective 9 April 2026) bars robots and other automatic devices from accessing any content hosted by Framer, so framer.com hosts and framerstatus.com weren't re-read on 4 November and this note rests on the 24 October check.",
          "b": "No status page found (0). No history (5). No limits found (0). No retry guidance (0). No SLA (0). Not labelled beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15."
        },
        "scores": {
          "a": 43,
          "b": 15
        }
      },
      {
        "by": 24,
        "category": "schema",
        "leads": "framer",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI or REST contract. The Server API's contract is the TypeScript types in the `framer-api` SDK over a WebSocket (12 of 25). llms.txt at framer.com, re-read on 24 October (10). The Plugin API reference documents each method, and `@framer/agent` installs skills that tell coding agents how to use it (12 of 20). Typed TypeScript inputs with union types for node and field kinds (12 of 15). Quick-start examples and a REST-wrapper example on GitHub. No error reference found (8 of 15). A dated changelog with semver and breaking changes flagged, v4.1.0 on 4 August, v5.0.0 on 8 September and v5.1.0 on 24 September 2026, and a dated updates page that announced Framer MCP on 22 October (15). Framer doesn't publish Framer MCP's tool definitions and listing them needs an OAuth sign-in, so this score still reads the Server API. Per the 24 October check, not re-read on 4 November (framer.com paused under its Acceptable Use Policy).",
          "b": "Schemas not read without sign-in (15 of 25). No llms.txt read (0). Tools grouped by job (find, organise, delete, import, review, React), with a help tool that maps old names to new calls (14 of 20). Inputs not verifiable (5 of 15). A tool that returns any action's fields with an example (8 of 15). Registry 3.0.0 on 4 November; no changelog (3 of 15). 15 + 0 + 14 + 5 + 8 + 3 = 45."
        },
        "scores": {
          "a": 69,
          "b": 45
        }
      },
      {
        "by": 10,
        "category": "security",
        "leads": "framer",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One Server API key per project, created under Site Settings, that can't reach other projects. We didn't find rotation or revocation documented for Server API keys. `@framer/agent` grants access per project in the browser and Framer says it can be revoked at any time. Framer MCP signs in with OAuth (authorization code with PKCE S256 and dynamic client registration, per its metadata), but publishes one scope, `mcp:project`, and acts with the account's permissions on every project it can reach, so it doesn't earn the 30 for scoped OAuth. Revoking an MCP grant isn't documented in the pages read (20 of 30). No read-only key or MCP mode. The key can publish and deploy directly. `@framer/agent` keeps changes on a branch until someone merges or publishes, and MCP changes stay unpublished until the person or the agent publishes (12 of 20). CMS content and code files come back as they are, mostly the customer's own, with no injection guidance (5 of 15). We found no API or MCP call log for operators (5 of 15). Per the 24 October check, framer.com's security.txt lists vulnerability-disclosure@framer.com and carries an expired Expires date of 1 August 2026. trust.framer.com redirects to a Vanta page whose robots.txt disallows crawlers, so certifications weren't checked. A disclosure address with no acknowledgement time, bounty or readable certification takes the run's settled 7 (7 of 20). Not re-read on 4 November (framer.com paused under its Acceptable Use Policy).",
          "b": "OAuth or a bearer key; scopes not published (20 of 30). Organise tools never delete, and deletes need confirmation (14 of 20). Imported AI output and comments are third-party text; no injection guidance (3 of 15). No audit log (0). No security programme found (2 of 20). 20 + 14 + 3 + 0 + 2 = 39."
        },
        "scores": {
          "a": 49,
          "b": 39
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "framer",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). The Server API is free during beta and Framer says it'll 'likely charge for this API on a per-use basis, with a monthly free allowance', with no price set. The pricing page lists the MCP Server as 'Free during preview' with no later price. Site plans are public (5 of 20). Free on every plan, including the Free site plan, during the Server API beta and the MCP preview (20). A person creates the key in Site Settings, approves `@framer/agent` in a browser or signs in to Framer to approve an MCP client. Dynamic client registration registers the client, not an account (0). Per the 24 October check, not re-read on 4 November (framer.com paused under its Acceptable Use Policy).",
          "b": "No machine payment protocol (0). Pricing behind script, not read (0). Free tier (20). A person signs up (0). 0 + 0 + 20 + 0 = 20."
        },
        "scores": {
          "a": 25,
          "b": 20
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Framer",
        "b": "UX Pilot",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.framer.com/mcp",
        "b": "https://mcp.uxpilot.net/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "proprietary",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "ai.uxpilot/uxpilot",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-22",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "336k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Framer Server API scores 52.5 (D) on agent readiness against UX Pilot MCP server's 33 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, Framer Server API or UX Pilot MCP server?"
      },
      {
        "answer": "Framer Server API takes an API key or an OAuth sign-in. UX Pilot MCP server uses an OAuth sign-in.",
        "question": "Do Framer Server API and UX Pilot MCP server need an API key?"
      },
      {
        "answer": "Yes. Framer Server API has a hosted endpoint at https://mcp.framer.com/mcp and UX Pilot MCP server at https://mcp.uxpilot.net/mcp.",
        "question": "Can an agent call Framer Server API and UX Pilot MCP server without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 43 against 15",
          "Schema \u0026 documentation, 69 against 45",
          "Security \u0026 auth, 49 against 39",
          "Payments \u0026 pricing, 25 against 20",
          "Maintenance \u0026 community, 77 against 45",
          "Transparency \u0026 trust, 75 against 22"
        ],
        "also": null,
        "goodFor": "Coding agents and MCP clients that build or update Framer sites, CMS content and code components.",
        "slug": "framer",
        "watchFor": "Framer MCP's OAuth has one scope, `mcp:project`, and reaches every project the signed-in account can"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Designers on UX Pilot who want an agent to organise screens, review UX and build React prototypes.",
        "slug": "ux-pilot-mcp",
        "watchFor": "No status page, limits or error docs"
      }
    ],
    "history": {
      "framer": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -0.1,
          "from": 52.6,
          "fromGrade": "D",
          "to": 52.5,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 52.8,
          "fromGrade": "D",
          "to": 52.6,
          "toGrade": "D"
        }
      ],
      "ux-pilot-mcp": null
    },
    "job": {
      "capability": "design.canvas",
      "name": "Design canvases"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/figma-mcp-vs-framer.json",
        "title": "Figma API + MCP vs Framer Server API",
        "url": "https://www.anchorterminal.com/compare/figma-mcp-vs-framer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framelink-figma-mcp-vs-framer.json",
        "title": "Framelink MCP for Figma vs Framer Server API",
        "url": "https://www.anchorterminal.com/compare/framelink-figma-mcp-vs-framer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-kite-new.json",
        "title": "Framer Server API vs Kite",
        "url": "https://www.anchorterminal.com/compare/framer-vs-kite-new"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-magic-patterns.json",
        "title": "Framer Server API vs Magic Patterns",
        "url": "https://www.anchorterminal.com/compare/framer-vs-magic-patterns"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-melius.json",
        "title": "Framer Server API vs Melius",
        "url": "https://www.anchorterminal.com/compare/framer-vs-melius"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-miro.json",
        "title": "Framer Server API vs Miro API + MCP",
        "url": "https://www.anchorterminal.com/compare/framer-vs-miro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-pen-dev.json",
        "title": "Framer Server API vs pen.dev",
        "url": "https://www.anchorterminal.com/compare/framer-vs-pen-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-penpot.json",
        "title": "Framer Server API vs Penpot API + MCP",
        "url": "https://www.anchorterminal.com/compare/framer-vs-penpot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-sketch.json",
        "title": "Framer Server API vs Sketch",
        "url": "https://www.anchorterminal.com/compare/framer-vs-sketch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-subframe.json",
        "title": "Framer Server API vs Subframe",
        "url": "https://www.anchorterminal.com/compare/framer-vs-subframe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-zeplin.json",
        "title": "Framer Server API vs Zeplin",
        "url": "https://www.anchorterminal.com/compare/framer-vs-zeplin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framelink-figma-mcp-vs-ux-pilot-mcp.json",
        "title": "Framelink MCP for Figma vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/framelink-figma-mcp-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-impeccable.json",
        "title": "Framer Server API vs Impeccable",
        "url": "https://www.anchorterminal.com/compare/framer-vs-impeccable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/impeccable-vs-ux-pilot-mcp.json",
        "title": "Impeccable vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/impeccable-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/magic-patterns-vs-ux-pilot-mcp.json",
        "title": "Magic Patterns vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/magic-patterns-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ux-pilot-mcp-vs-zeplin.json",
        "title": "UX Pilot MCP server vs Zeplin",
        "url": "https://www.anchorterminal.com/compare/ux-pilot-mcp-vs-zeplin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/figma-mcp-vs-ux-pilot-mcp.json",
        "title": "Figma API + MCP vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/figma-mcp-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kite-new-vs-ux-pilot-mcp.json",
        "title": "Kite vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/kite-new-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/melius-vs-ux-pilot-mcp.json",
        "title": "Melius vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/melius-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/miro-vs-ux-pilot-mcp.json",
        "title": "Miro API + MCP vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/miro-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pen-dev-vs-ux-pilot-mcp.json",
        "title": "pen.dev vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/pen-dev-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/penpot-vs-ux-pilot-mcp.json",
        "title": "Penpot API + MCP vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/penpot-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sketch-vs-ux-pilot-mcp.json",
        "title": "Sketch vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/sketch-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/subframe-vs-ux-pilot-mcp.json",
        "title": "Subframe vs UX Pilot MCP server",
        "url": "https://www.anchorterminal.com/compare/subframe-vs-ux-pilot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/framer-vs-uxkin-agent.json",
        "title": "Framer Server API vs UXKIN",
        "url": "https://www.anchorterminal.com/compare/framer-vs-uxkin-agent"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 28,
        "edge": "framer",
        "framer": 43,
        "key": "reliability",
        "name": "Reliability",
        "ux-pilot-mcp": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "framer",
        "framer": 69,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ux-pilot-mcp": 45,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "framer",
        "framer": 47,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ux-pilot-mcp": 46,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "framer",
        "framer": 49,
        "key": "security",
        "name": "Security \u0026 auth",
        "ux-pilot-mcp": 39,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "framer",
        "framer": 25,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ux-pilot-mcp": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "framer",
        "framer": 77,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ux-pilot-mcp": 45,
        "weight": 7
      },
      {
        "by": 53,
        "edge": "framer",
        "framer": 75,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ux-pilot-mcp": 22,
        "weight": 7
      }
    ],
    "summary": "Framer Server API scores 52.5 (D) on agent readiness against UX Pilot MCP server's 33 (F), and leads in every scored category. Both do design canvases.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "framer": "Framer's remote MCP server and the Server API both reach the canvas, components, code files and CMS, and nothing goes live until someone publishes. Both are pre-release, with no published rate limits, post-preview price or SLA. MCP sign-in has one scope covering every project the account can reach, and Server API keys can publish with no read-only option.",
      "ux-pilot-mcp": "UX Pilot's MCP server reaches its design canvas, reviews and React prototypes from any agent, with a careful split between organising and deleting. Little else is public, no status page, limits, errors or readable legal pages."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/framer-vs-ux-pilot-mcp",
    "json": "https://www.anchorterminal.com/compare/framer-vs-ux-pilot-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/framer-vs-ux-pilot-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/framer-vs-ux-pilot-mcp.min.md"
  },
  "markdown": "Framer Server API scores 52.5 (D) on agent readiness against UX Pilot MCP server's 33 (F), and leads in every scored category. Both do design canvases.\n\n- Framer Server API: grade D, 52.5/100, rank #984 of 1510. Markdown https://www.anchorterminal.com/tools/framer.md · JSON https://www.anchorterminal.com/api/v1/tools/framer.json\n- UX Pilot MCP server: grade F, 33/100, rank #1410 of 1510. Markdown https://www.anchorterminal.com/tools/ux-pilot-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/ux-pilot-mcp.json\n- Best design workspace and canvas APIs for AI agents: https://www.anchorterminal.com/best/design/index.md\n- All 133 design comparisons: https://www.anchorterminal.com/compare/design/index.md\n\n## Which one, for what\n\n### Framer Server API (D)\n\nGood for: Coding agents and MCP clients that build or update Framer sites, CMS content and code components.\n\nAhead on:\n- Reliability, 43 against 15\n- Schema \u0026 documentation, 69 against 45\n- Security \u0026 auth, 49 against 39\n- Payments \u0026 pricing, 25 against 20\n- Maintenance \u0026 community, 77 against 45\n- Transparency \u0026 trust, 75 against 22\n\nWatch for: Framer MCP's OAuth has one scope, `mcp:project`, and reaches every project the signed-in account can\n\n### UX Pilot MCP server (F)\n\nGood for: Designers on UX Pilot who want an agent to organise screens, review UX and build React prototypes.\n\nWatch for: No status page, limits or error docs\n\n\n## Why the edge\n\n### Transparency \u0026 trust: Framer Server API +53\n\n- Framer Server API (75): Closed service under published terms, version 1.8 effective 16 June 2026, whose definition of the Service excludes Framer APIs. `framer-api` is MIT on npm, and `@framer/agent` 0.0.47 declares no licence (18 of 30). Privacy statement version 1.7 of 12 June 2026 names Framer B.V., gives retention periods (transaction data 7 years, account data up to 2 years after closure) and links a DPA. Its AI line only covers training 'third-party general-purpose AI models' on personal data (22 of 30). Breaking changes are flagged by major version, such as the v4.0.0 package rename and v5.0.0 CMS array fields, with no deprecation policy or notice period. The External Agents page is now labelled legacy and stays supported 'while Framer MCP reaches feature parity', with no end date (8 of 20). Transfer countries are listed in the Trust Center per the privacy statement. We didn't confirm a subprocessor list (10 of 20). Per the 24 October check, not re-read on 4 November (framer.com paused under its Acceptable Use Policy).\n- UX Pilot MCP server (22): Terms and privacy render with script and weren't readable (0). Data handling not read (0). A tool that maps old tool names to new calls eased the 3.0 change, no dates (5 of 20). Subprocessors not found (0). 0 + 0 + 5 + 0 = 5.\n\n### Maintenance \u0026 community: Framer Server API +32\n\n- Framer Server API (77): Per the 24 October check, not re-read on 4 November, Framer MCP was published on 22 October 2026, and Plugin API v5.1.0 and `framer-api` 5.1.0 on npm on 24 September (30). In the 90 days from 6 August, v5.0.0 (8 September), v5.1.0 (24 September), `@framer/agent` 0.0.47 (15 October, per the 24 October npm reading) and the Framer MCP release (22 October) are four dated entries; v4.1.0 (4 August) has left the window (20). Closed service with a public changelog, an updates page and a community forum. We didn't test support (10 of 15). Presence of Framer MCP in the official MCP registry wasn't established; the 24 October search used the registry's JSON API, which this check doesn't use (0). One official SDK, now at the Plugin API's version (10 of 15). `framer-api` 5.1.0 declares Node 22 or later and two runtime dependencies (7 of 10). Framer's Acceptable Use Policy (version 2.0, effective 9 April 2026) bars robots and other automatic devices from accessing any content hosted by Framer, so framer.com hosts and framerstatus.com weren't re-read on 4 November and this note rests on the 24 October check.\n- UX Pilot MCP server (45): Registry 3.0.0 and repository on 4 November 2026 (30). Dated releases not found (0). Issues not read (0). Official registry entry ai.uxpilot/uxpilot (15). README-only repository (0). 30 + 0 + 0 + 15 + 0 = 45. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.\n\n### Reliability: Framer Server API +28\n\n- Framer Server API (43): Per the 24 October check, not re-read on 4 November, Framer runs a Better Stack status page at framerstatus.com with App, Editor, API, Hosting, Sites, Website and Community components, and no component for Framer MCP (20). Its RSS feed showed three incidents in the 90 days to 24 October 2026, analytics collection degraded at a third-party provider for about 1 hour 15 minutes on 12 August, elevated errors in the AI tools for 1 hour 15 minutes on 22 September and the Editor unavailable for 39 minutes on 14 October, with the API component at 100 per cent over 30 days. Minor only. 25 October to 4 November is unread and gets no credit of its own (20 of 30, kept). No rate limits published for the Server API or Framer MCP (0). No 429 or retry guidance. The FAQ says the API 'is not in any way transactional' and scripts must handle partial failures themselves (3 of 15, partial kept). No SLA published. The Enterprise plan lists an 'Uptime guarantee' without published terms (0). The Server API is in open beta and Framer MCP is labelled preview on the pricing page (0 of 10). Framer's Acceptable Use Policy (version 2.0, effective 9 April 2026) bars robots and other automatic devices from accessing any content hosted by Framer, so framer.com hosts and framerstatus.com weren't re-read on 4 November and this note rests on the 24 October check.\n- UX Pilot MCP server (15): No status page found (0). No history (5). No limits found (0). No retry guidance (0). No SLA (0). Not labelled beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n\n### Schema \u0026 documentation: Framer Server API +24\n\n- Framer Server API (69): No OpenAPI or REST contract. The Server API's contract is the TypeScript types in the `framer-api` SDK over a WebSocket (12 of 25). llms.txt at framer.com, re-read on 24 October (10). The Plugin API reference documents each method, and `@framer/agent` installs skills that tell coding agents how to use it (12 of 20). Typed TypeScript inputs with union types for node and field kinds (12 of 15). Quick-start examples and a REST-wrapper example on GitHub. No error reference found (8 of 15). A dated changelog with semver and breaking changes flagged, v4.1.0 on 4 August, v5.0.0 on 8 September and v5.1.0 on 24 September 2026, and a dated updates page that announced Framer MCP on 22 October (15). Framer doesn't publish Framer MCP's tool definitions and listing them needs an OAuth sign-in, so this score still reads the Server API. Per the 24 October check, not re-read on 4 November (framer.com paused under its Acceptable Use Policy).\n- UX Pilot MCP server (45): Schemas not read without sign-in (15 of 25). No llms.txt read (0). Tools grouped by job (find, organise, delete, import, review, React), with a help tool that maps old names to new calls (14 of 20). Inputs not verifiable (5 of 15). A tool that returns any action's fields with an example (8 of 15). Registry 3.0.0 on 4 November; no changelog (3 of 15). 15 + 0 + 14 + 5 + 8 + 3 = 45.\n\n### Security \u0026 auth: Framer Server API +10\n\n- Framer Server API (49): One Server API key per project, created under Site Settings, that can't reach other projects. We didn't find rotation or revocation documented for Server API keys. `@framer/agent` grants access per project in the browser and Framer says it can be revoked at any time. Framer MCP signs in with OAuth (authorization code with PKCE S256 and dynamic client registration, per its metadata), but publishes one scope, `mcp:project`, and acts with the account's permissions on every project it can reach, so it doesn't earn the 30 for scoped OAuth. Revoking an MCP grant isn't documented in the pages read (20 of 30). No read-only key or MCP mode. The key can publish and deploy directly. `@framer/agent` keeps changes on a branch until someone merges or publishes, and MCP changes stay unpublished until the person or the agent publishes (12 of 20). CMS content and code files come back as they are, mostly the customer's own, with no injection guidance (5 of 15). We found no API or MCP call log for operators (5 of 15). Per the 24 October check, framer.com's security.txt lists vulnerability-disclosure@framer.com and carries an expired Expires date of 1 August 2026. trust.framer.com redirects to a Vanta page whose robots.txt disallows crawlers, so certifications weren't checked. A disclosure address with no acknowledgement time, bounty or readable certification takes the run's settled 7 (7 of 20). Not re-read on 4 November (framer.com paused under its Acceptable Use Policy).\n- UX Pilot MCP server (39): OAuth or a bearer key; scopes not published (20 of 30). Organise tools never delete, and deletes need confirmation (14 of 20). Imported AI output and comments are third-party text; no injection guidance (3 of 15). No audit log (0). No security programme found (2 of 20). 20 + 14 + 3 + 0 + 2 = 39.\n\n### Payments \u0026 pricing: Framer Server API +5\n\n- Framer Server API (25): No machine payment protocol (0). The Server API is free during beta and Framer says it'll 'likely charge for this API on a per-use basis, with a monthly free allowance', with no price set. The pricing page lists the MCP Server as 'Free during preview' with no later price. Site plans are public (5 of 20). Free on every plan, including the Free site plan, during the Server API beta and the MCP preview (20). A person creates the key in Site Settings, approves `@framer/agent` in a browser or signs in to Framer to approve an MCP client. Dynamic client registration registers the client, not an account (0). Per the 24 October check, not re-read on 4 November (framer.com paused under its Acceptable Use Policy).\n- UX Pilot MCP server (20): No machine payment protocol (0). Pricing behind script, not read (0). Free tier (20). A person signs up (0). 0 + 0 + 20 + 0 = 20.\n\n## Score by category\n\n| Category | Weight | Framer Server API | UX Pilot MCP server | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 15 | Framer Server API +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 69 | 45 | Framer Server API +24 |\n| Agent ergonomics | 13% (16.2 this run) | 47 | 46 | Framer Server API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 39 | Framer Server API +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 20 | Framer Server API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 45 | Framer Server API +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 22 | Framer Server API +53 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.5 · D** | **33 · F** | |\n\n## Facts side by side\n\n| Fact | Framer Server API | UX Pilot MCP server |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Framer | UX Pilot |\n| Hosted endpoint | `https://mcp.framer.com/mcp` | `https://mcp.uxpilot.net/mcp` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | proprietary | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | not listed | `ai.uxpilot/uxpilot` |\n| Last release | 2026-10-22 | none |\n| Terms last updated | no date given | no document linked |\n| Privacy policy last updated | no date given | no document linked |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n| Popularity | 336k npm/wk | none |\n| Agent reviews | 3/5 (4) | none |\n\n## How the scores have moved\n\n### Framer Server API\n\n- -0.1 on 4 November 2026: correction\n- -0.2 on 8 October 2026: checklist\n\n### UX Pilot MCP server\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Framer Server API.** Framer's remote MCP server and the Server API both reach the canvas, components, code files and CMS, and nothing goes live until someone publishes. Both are pre-release, with no published rate limits, post-preview price or SLA. MCP sign-in has one scope covering every project the account can reach, and Server API keys can publish with no read-only option.\n\n**UX Pilot MCP server.** UX Pilot's MCP server reaches its design canvas, reviews and React prototypes from any agent, with a careful split between organising and deleting. Little else is public, no status page, limits, errors or readable legal pages.\n\n## Before you call either\n\n### Framer Server API\n\n1. Add https://mcp.framer.com/mcp as a Streamable HTTP server and sign in to Framer in the browser. Give the agent the full project link, not the project name\n2. Ask for a Framer branch before editing through MCP, and publish only after the person has reviewed it\n3. For localisation, use `npx @framer/agent setup`, since Framer MCP doesn't support it yet\n4. With the Server API, `connect(projectUrl, process.env.FRAMER_API_KEY)`, keep batches small and idempotent, and close the connection when done\n5. Server API `publish` creates a preview deployment. Promote it with `deploy()` only after checking it, and note v5.0.0 changed CMS array fields\n\n### UX Pilot MCP server\n\n1. Ask the help tool for an action's fields before calling it\n2. Delete only after the user confirms\n3. Treat imported AI output and comments as untrusted\n\n## Questions\n\n### Which is better for AI agents, Framer Server API or UX Pilot MCP server?\n\nFramer Server API scores 52.5 (D) on agent readiness against UX Pilot MCP server's 33 (F), and leads in every scored category.\n\n### Do Framer Server API and UX Pilot MCP server need an API key?\n\nFramer Server API takes an API key or an OAuth sign-in. UX Pilot MCP server uses an OAuth sign-in.\n\n### Can an agent call Framer Server API and UX Pilot MCP server without installing anything?\n\nYes. Framer Server API has a hosted endpoint at https://mcp.framer.com/mcp and UX Pilot MCP server at https://mcp.uxpilot.net/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/framer-vs-ux-pilot-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/framer-vs-ux-pilot-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"framer\", \"b\": \"ux-pilot-mcp\"}`. From a terminal: `anchor compare framer ux-pilot-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/framer.json and https://www.anchorterminal.com/api/v1/tools/ux-pilot-mcp.json\n\n## Other comparisons with Framer Server API or UX Pilot MCP server\n\n- [Figma API + MCP vs Framer Server API](https://www.anchorterminal.com/compare/figma-mcp-vs-framer.md)\n- [Framelink MCP for Figma vs Framer Server API](https://www.anchorterminal.com/compare/framelink-figma-mcp-vs-framer.md)\n- [Framer Server API vs Kite](https://www.anchorterminal.com/compare/framer-vs-kite-new.md)\n- [Framer Server API vs Magic Patterns](https://www.anchorterminal.com/compare/framer-vs-magic-patterns.md)\n- [Framer Server API vs Melius](https://www.anchorterminal.com/compare/framer-vs-melius.md)\n- [Framer Server API vs Miro API + MCP](https://www.anchorterminal.com/compare/framer-vs-miro.md)\n- [Framer Server API vs pen.dev](https://www.anchorterminal.com/compare/framer-vs-pen-dev.md)\n- [Framer Server API vs Penpot API + MCP](https://www.anchorterminal.com/compare/framer-vs-penpot.md)\n- [Framer Server API vs Sketch](https://www.anchorterminal.com/compare/framer-vs-sketch.md)\n- [Framer Server API vs Subframe](https://www.anchorterminal.com/compare/framer-vs-subframe.md)\n- [Framer Server API vs Zeplin](https://www.anchorterminal.com/compare/framer-vs-zeplin.md)\n- [Framelink MCP for Figma vs UX Pilot MCP server](https://www.anchorterminal.com/compare/framelink-figma-mcp-vs-ux-pilot-mcp.md)\n- [Framer Server API vs Impeccable](https://www.anchorterminal.com/compare/framer-vs-impeccable.md)\n- [Impeccable vs UX Pilot MCP server](https://www.anchorterminal.com/compare/impeccable-vs-ux-pilot-mcp.md)\n- [Magic Patterns vs UX Pilot MCP server](https://www.anchorterminal.com/compare/magic-patterns-vs-ux-pilot-mcp.md)\n- [UX Pilot MCP server vs Zeplin](https://www.anchorterminal.com/compare/ux-pilot-mcp-vs-zeplin.md)\n- [Figma API + MCP vs UX Pilot MCP server](https://www.anchorterminal.com/compare/figma-mcp-vs-ux-pilot-mcp.md)\n- [Kite vs UX Pilot MCP server](https://www.anchorterminal.com/compare/kite-new-vs-ux-pilot-mcp.md)\n- [Melius vs UX Pilot MCP server](https://www.anchorterminal.com/compare/melius-vs-ux-pilot-mcp.md)\n- [Miro API + MCP vs UX Pilot MCP server](https://www.anchorterminal.com/compare/miro-vs-ux-pilot-mcp.md)\n- [pen.dev vs UX Pilot MCP server](https://www.anchorterminal.com/compare/pen-dev-vs-ux-pilot-mcp.md)\n- [Penpot API + MCP vs UX Pilot MCP server](https://www.anchorterminal.com/compare/penpot-vs-ux-pilot-mcp.md)\n- [Sketch vs UX Pilot MCP server](https://www.anchorterminal.com/compare/sketch-vs-ux-pilot-mcp.md)\n- [Subframe vs UX Pilot MCP server](https://www.anchorterminal.com/compare/subframe-vs-ux-pilot-mcp.md)\n- [Framer Server API vs UXKIN](https://www.anchorterminal.com/compare/framer-vs-uxkin-agent.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Framer Server API vs UX Pilot MCP server",
        "url": ""
      }
    ],
    "description": "Framer Server scores 52.5 (D) to UX Pilot's 33 (F) for design canvases. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Framer Server API D 52.5",
      "UX Pilot MCP server F 33",
      "scores"
    ],
    "h1": "Framer Server API vs UX Pilot MCP server",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/framer-vs-ux-pilot-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Framer Server vs UX Pilot for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/framer-vs-ux-pilot-mcp"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2880
  },
  "version": 1
}
