Can an AI agent use Framer?
As of 11 Oct 2026, an AI agent can't use Framer on its own: Invisible risk check refuses sign-up.
- Find: Some docs for agents: llms.txt and an MCP server.
- Access: Can't sign up.
- Use: Work not reached.
- Pay: Payment not reached.
- Leave: Leaving not reached.
To reach L2 · Gets in: let an agent sign up on its own.
With an account set up by a person: not measured yet.
What the levels meanDriven 11 Oct 20261 drive so farRules of 15 Oct 2026Claim this page
Written and checked by our agents from this drive's record. How we write.
Who gets in
- Agents on a serverTurned away when they send the sign-up form.
- Signed agentsThe sign-up page opens. The check on the form still applies.
- Agents in a person's browserNot measured yet.
Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from
What an agent can do in Framer.
On its own
- Read every help and developer page as clean text
- Run the free public tool that scores a website's visibility to AI search engines
What it can't, and why
- Create an accountAn automated risk check silently rejects sign-up attempts
- Design, publish, or manage a site; use the API, CLI, or AI assistantAll of these require a logged-in account, which could not be created
Can an AI agent sign up for Framer on its own?
No. Sign-up: blocked. Email-first form at framer.com/login shows no challenge; on Continue a Castle risk token is sent and api.framer.com/auth/v4/signin answers 403 'Access denied by policy' ('Verification failed'). Other route: Continue with Google only.
Does Framer have an MCP server, and can an agent connect to it?
Yes. Framer has an official MCP server. The server is hosted and signs an agent in with OAuth.
A new agent can't get in on its own: in the drive of 11 Oct 2026, our agent stopped at sign up (it was blocked).
What the drive found
API–OpenAPIMCP · officialCLISDKllms.txt–Webhooks–SandboxNot reached in this drive: the API key, deleting the account and paying. Every checkpoint, in detail
For the team behind Framer.
Where agents stop in Framer today, and the fixes that get them further, highest impact first.
The fixes, highest impact first
- Let verified agents past the sign-in risk checkStep-by-step guide
- Offer a headless credential pathStep-by-step guide
- Say what failed in the sign-in error
2 more fixes
- Add CIMD to the OAuth server Step-by-step guide
- Accept an agent payment rail Step-by-step guide
- Claim it free and reply next to the result.
- A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
- Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
Details
Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.
Already claimed it? Open it in your dashboard.
Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.
Embed the badge on your site
Behind the level.
Our agent couldn't get into Framer, so the work, its reliability and the crash test aren't measured. The part scores are what it could judge from the outside.
Part scores
Part scores
Agent-ready setup
- llms.txt: found
- OpenAPI: not found
- MCP server: found
- CLI: found
Not measured in this drive: Holds up, Docs match (part of an Audit).
For agents and builders.
The drive as data, every checkpoint and all 52 attempts.
How an agent connects · 3 tips
/api/tools/framer.json/tools/framer.mdMCP get_tool {"slug":"framer"}
- Docs: fetch any www.framer.com page with ?md or Accept: text/markdown.
- The intended agent route is npx @framer/agent (skills + bridge) after a human approves the project in a logged-in browser.
- Server API: npm framer-api, connect(projectUrl, key) with a key from Site Settings > General.
Every checkpoint, in detail · 9 checkpoints
- DocsHeadlessllms.txt, ?md pages and Accept: text/markdown all served markdown headless; Server API quick start, External Agents and plugin docs read.
- Sign upBlockedEmail-first form at framer.com/login shows no challenge; on Continue a Castle risk token is sent and api.framer.com/auth/v4/signin answers 403 'Access denied by policy' ('Verification failed'). Other route: Continue with Google only.
- VerifyNot reachedNo email was sent; sign-up refused first.
- KeyNot reachedServer API keys come from Site Settings in the editor; @framer/agent 'project new' and MCP OAuth (DCR + PKCE) both need a logged-in browser session. No device flow or headless key route.
- First callNot reachedNo credential; mcp.framer.com/mcp answers 401 without a token.
- First actionNot reachedCreating a project needs browser approval in a logged-in session.
- PayNot reachedPricing: free plan, Basic $10/mo, Pro $30/mo; paid 'with a credit card or, in some regions, via PayPal'. No 402, x402, MPP, UCP or registry listing; we paid nothing. Checkout sits inside the logged-in app, not reached.
- CancelNot reachednot tested: no plan or trial was started, and no account exists to start one (sign-up blocked). Help article: Workspace settings > Plans > Cancel Plan, with a feedback step (web UI). Framer has paid plans, so cancellation is untested.
- DeleteNot reachedNo account was created, so nothing to delete. Docs: Account settings > Profile > Delete Account, web UI only.
The attempt log · 52 attempts
| Capability | Route | Result | Evidence |
|---|---|---|---|
| robots, llms.txt, cards, markdown: probe well-knowns | api | done ✓ | robots.txt: 'Content-Signal: ai-train=yes, search=yes, ai-input=yes' (Cloudflare Content Signals form, parses); llms.txt 200 text/plain with ?md links; Accept: text/markdown on /agents/external/ -> content-type text/markdown, vary Accept; ai-catalog, agent-card, agent.json, auth.md, ucp, oauth-protected-resource on www all 404 |
| Find docs: Read developer docs and llms.txt | api | done ✓ | https://www.framer.com/developers/server-api-quick-start?md and /agents/external/?md fetched headless as markdown |
| Pay probes: Read pay_probe.json/pay_tx.json; check www well-knowns | api | done ✓ | pay_probe: no 402 challenges, x402./mpp./agents. no such host, no registry listings, /.well-known/ucp 404; pay_tx: refused, no 402 on own domain |
| Sign up: Sign up with the agent's inbox via framer.com/r/signup (email-first login form) | browser | blocked ✓ | Form loads with no visible challenge; on Continue the page loads castleSDKV3 (Castle risk engine) and POSTs castleToken with the email to api.framer.com/auth/v4/signin -> 403 {"error":{"message":"Access denied by policy","status":403,"type":"Forbidden"}}; page shows 'Verification failed / Please try again' |
| Verify email: Verify sign-up email | none | blocked ✓ | No mail sent: sign-in/sign-up request refused with 403 before any email step |
| Get API credentials: Project API key (Site Settings > General) or @framer/agent 'project new' browser approval | cli | blocked ✓ | npx @framer/agent project new prints https://framer.com/projects/server-api/auth?callback=http://127.0.0.1:<port>/callback&state=…&createProject=true (loopback browser approval, needs a logged-in Framer session); Server API keys only from Site Settings in the editor; MCP OAuth (DCR, auth-code+PKCE) also needs a logged-in session. No headless key route, no device flow. |
| First API call: framer-api connect / MCP tools/list | api | blocked ✓ | No credential obtainable; MCP endpoint answers 401 without a token |
| First real action: Create a project | cli | blocked ✓ | @framer/agent project new needs browser approval in a logged-in session |
| Design a page visually on the canvas: Try: Design a page visually on the canvas | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Generate or edit site design from a text prompt: Try: Generate or edit site design from a text prompt | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Build a new multi-page site from a description or reference: Try: Build a new multi-page site from a description or reference | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Create and manage a CMS collection (fields, items): Try: Create and manage a CMS collection (fields, items) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Import content into CMS from CSV or another CMS (WordPress, Contentful): Try: Import content into CMS from CSV or another CMS (WordPress, Contentful) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Add custom code components or interactions via an agent: Try: Add custom code components or interactions via an agent | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Publish a site to a live URL: Try: Publish a site to a live URL | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Connect an external coding agent (Claude Code, Cursor, Codex) to read/write a Framer project: Try: Connect an external coding agent (Claude Code, Cursor, Codex) to read/write a Framer project | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Make layouts responsive across breakpoints (tablet/mobile): Try: Make layouts responsive across breakpoints (tablet/mobile) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Connect a custom domain to the site: Try: Connect a custom domain to the site | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line; also needs a paid plan per pricing.md (paid) |
| Set per-page/per-item SEO metadata (title, description, social preview) with CMS variables: Try: Set per-page/per-item SEO metadata (title, description, social preview) with CMS variables | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Set up URL redirects: Try: Set up URL redirects | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Upload well-known static files (robots.txt, llms.txt, security.txt): Try: Upload well-known static files (robots.txt, llms.txt, security.txt) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Create and merge branches for parallel editing: Try: Create and merge branches for parallel editing | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Leave comments pinned to canvas elements: Try: Leave comments pinned to canvas elements | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Assign member roles and permissions (editor, content editor, viewer): Try: Assign member roles and permissions (editor, content editor, viewer) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Edit CMS content directly on the live page (on-page editing) from any device: Try: Edit CMS content directly on the live page (on-page editing) from any device | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| View site analytics (pageviews, visitors, traffic by page/country/device/source/UTM): Try: View site analytics (pageviews, visitors, traffic by page/country/device/source/UTM) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Run A/B tests on page variants: Try: Run A/B tests on page variants | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line; also needs a paid plan per pricing.md (paid) |
| Build visual conversion funnels: Try: Build visual conversion funnels | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line; also needs a paid plan per pricing.md (paid) |
| Set up dynamic triggers (show overlay/switch variant on visitor condition): Try: Set up dynamic triggers (show overlay/switch variant on visitor condition) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line; also needs a paid plan per pricing.md (paid) |
| Add a native form that captures submissions (leads, signups): Try: Add a native form that captures submissions (leads, signups) | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Translate site into multiple locales with AI: Try: Translate site into multiple locales with AI | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line; also needs a paid plan per pricing.md (paid) |
| Preview and test changes on a staging URL before publishing: Try: Preview and test changes on a staging URL before publishing | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Password-protect a published site/page: Try: Password-protect a published site/page | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line; also needs a paid plan per pricing.md (paid) |
| Automate publish/deploy from external scripts via Server API: Try: Automate publish/deploy from external scripts via Server API | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Build a custom plugin that interacts with the Framer editor and CMS: Try: Build a custom plugin that interacts with the Framer editor and CMS | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Build a Fetch API endpoint usable without code on the site: Try: Build a Fetch API endpoint usable without code on the site | none | blocked | No account: sign-up blocked by Castle risk policy (POST api.framer.com/auth/v4/signin -> 403 'Access denied by policy'), see signup line |
| Scan site for AI/answer-engine visibility (AEO scanner): Scan https://agentdrives.com (our own site) in the public AEO scanner | browser | done ✓ | Form at www.framer.com/aeo (URL, first/last name, business email; hidden honeypot fields left empty) -> https://www.framer.com/aeo/results?id=agentdrives-com-mv41skfq shows 'Overall AEO Score 69/100', Findable 20/25, Quotable/Understandable Good, Trustworthy Poor, per-check findings |
| Browse and use community templates, components, and vectors: Check against docs | none | blocked | Marketplace templates/components/vectors listed in llms.txt (/marketplace/templates/?md etc.); adding one to a project needs an account |
| Manage a team workspace and invite additional editors/viewers: Check against docs | none | blocked | pricing.md: 'Workspaces without a subscription also support collaboration with up to three editors'; invite is in the editor UI only |
| View and buy AI credits / upgrade add-ons for agent and localization usage: Check against docs | none | blocked | pricing.md: free plan gets '500 AI credits to try'; 'add credits anytime' on paid plans; paid by card or PayPal (pricing FAQ); UI only |
| Configure SSO/SCIM for enterprise workspace access: Check against docs | none | blocked | pricing.md: SSO and SCIM on the Enterprise plan ('Request Trial' via /enterprise/) |
| Install static headers/firewall rules via Advanced Hosting add-on: Check against docs | none | blocked | pricing.md: Advanced Hosting add-on: up to 6 rewrites, 6 firewall rules, custom Permissions-Policy/Referrer-Policy/X-Frame-Options headers, 500 static files |
| Integrate Google Analytics/Tag Manager via measurement ID or script: Check against docs | none | blocked | Listed in capability map from /seo/ and help/integrations; not checked further: needs an account to try |
| Pay step: Find how to buy | none | blocked ✓ | pricing.md: Free plan (Start for Free -> /r/signup/), Basic $10/mo, Pro $30/mo; 'You can pay for your Framer subscription with a credit card or, in some regions, via PayPal'; no 402/x402/MPP/UCP/registry listing (pay_probe.json); checkout is inside the logged-in app, not reachable |
| Cancel plan: Docs check | none | skipped | help/articles/cancel-your-framer-plan: Workspace settings > Plans > three-dot menu > Cancel Plan > feedback and confirm |
| Delete account: Delete the account | none | blocked | help/articles/deleting-your-framer-account: Dashboard > Account settings > Profile > Delete Account (web UI only) |
| Design a page visually on the canvas: Open the editor to try: Design a page visually on the canvas | browser | blocked ✓ | https://framer.com/projects/ redirects to https://framer.com/login/?origin=framer-web&redirect=…; the only ways in are email (refused 403 'Access denied by policy' by the Castle risk check) or Continue with Google (no Google account) |
| Generate or edit site design from a text prompt: Open the editor to try: Generate or edit site design from a text prompt | browser | blocked ✓ | https://framer.com/projects/ redirects to https://framer.com/login/?origin=framer-web&redirect=…; the only ways in are email (refused 403 'Access denied by policy' by the Castle risk check) or Continue with Google (no Google account) |
| Build a new multi-page site from a description or reference: Open the editor to try: Build a new multi-page site from a description or reference | browser | blocked ✓ | https://framer.com/projects/ redirects to https://framer.com/login/?origin=framer-web&redirect=…; the only ways in are email (refused 403 'Access denied by policy' by the Castle risk check) or Continue with Google (no Google account) |
| Import content into CMS from CSV or another CMS (WordPress, Contentful): Open the editor to try: Import content into CMS from CSV or another CMS (WordPress, Contentful) | browser | blocked ✓ | https://framer.com/projects/ redirects to https://framer.com/login/?origin=framer-web&redirect=…; the only ways in are email (refused 403 'Access denied by policy' by the Castle risk check) or Continue with Google (no Google account) |
| Add custom code components or interactions via an agent: Open the editor to try: Add custom code components or interactions via an agent | browser | blocked ✓ | https://framer.com/projects/ redirects to https://framer.com/login/?origin=framer-web&redirect=…; the only ways in are email (refused 403 'Access denied by policy' by the Castle risk check) or Continue with Google (no Google account) |
| Make layouts responsive across breakpoints (tablet/mobile): Open the editor to try: Make layouts responsive across breakpoints (tablet/mobile) | browser | blocked ✓ | https://framer.com/projects/ redirects to https://framer.com/login/?origin=framer-web&redirect=…; the only ways in are email (refused 403 'Access denied by policy' by the Castle risk check) or Continue with Google (no Google account) |
Also in Website builders.
WebflowL2Gets in on its ownFramer vs Webflow
SquarespaceL1Can't sign up on its ownFramer vs Squarespace
WixL1Can't sign up on its ownFramer vs Wix
CarrdL0Can't verify its account on its own