Framer MCP
Controls Framer project canvas, CMS, and design system, including pages, nodes, frames, text, CMS collections and items, and color/text styles.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Framer MCPlist my CMS collections"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Framer MCP
Give Claude full control over your Framer project — canvas, CMS, and design system.
Architecture
Claude (MCP client) Framer Plugin (docked panel)
↕ Streamable HTTP /mcp ↕ WebSocket /bridge
└──────────► MCP Server (Node.js, one port) ◄──────────┘
↕ Framer Plugin API
Your Framer ProjectRelated MCP server: Claude Talk to Figma MCP
Setup
1. Install dependencies
pnpm install2. Build & run the MCP server
cd packages/server
pnpm build3. Load the plugin in Framer
cd packages/plugin
pnpm devOpen Framer → Plugins → Import from URL → http://localhost:5173
The plugin will appear as a docked panel. It shows a green "Connected" dot when the MCP server is running.
4. Run the server
cd packages/server
pnpm start # PORT=3000, WS_PORT=9001 by defaultBoth surfaces share one port:
MCP endpoint (Streamable HTTP):
http://localhost:3000/mcpPlugin bridge (WebSocket):
ws://localhost:3000/bridgeGET /healthreports status and whether the Framer plugin is connected.
Environment variables:
Var | Default | Purpose |
|
| HTTP port serving |
| (unset) | If set, |
5. Add to an MCP client
For a local client over HTTP:
{
"mcpServers": {
"framer": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}Deploy to Fly.io
The repo ships a Dockerfile and fly.toml. Both the MCP endpoint and the
plugin bridge are served on one port (443 at the edge), so a single Fly service
covers everything.
fly auth login # opens a browser
fly apps create your-unique-app-name # app names are globally unique
# set the app name in fly.toml, then optionally require auth:
fly secrets set MCP_AUTH_TOKEN=$(openssl rand -hex 32) --app your-unique-app-name
fly deploy --app your-unique-app-nameAfter deploy:
MCP URL:
https://your-app.fly.dev/mcpBridge URL:
wss://your-app.fly.dev/bridge
Point the plugin at the deployment by building it with the bridge URL:
cd packages/plugin
VITE_BRIDGE_URL=wss://your-app.fly.dev/bridge pnpm buildAdd the remote server to your MCP client (include the header only if you set
MCP_AUTH_TOKEN):
{
"mcpServers": {
"framer": {
"type": "http",
"url": "https://your-app.fly.dev/mcp",
"headers": { "Authorization": "Bearer <your-token>" }
}
}
}Note: session state in
~/.framer-mcp/sessions.jsonlives on the machine's ephemeral disk and is lost when the machine stops/redeploys. The plugin re-handshakes automatically on reconnect, so this only drops in-flight requests. Mount a Fly volume if you need it to persist.
Tools (30 total)
Canvas
Tool | Description |
| List all pages |
| Get active page + top-level nodes |
| Switch to a page by ID or name |
| Get currently selected nodes |
| Get node details by ID |
| Get children of a node |
| Create a frame/container |
| Create a text node |
| Update any node property |
| Delete a node |
| Clone a node |
| Move node to new parent or position |
| Group nodes into a frame |
| Get raw XML for a node |
| Update node via raw XML |
CMS
Tool | Description |
| List all CMS collections |
| Get collection + field schema |
| Create a new collection |
| List items in a collection |
| Create a CMS item |
| Update a CMS item |
| Delete a CMS item |
Design System
Tool | Description |
| List all color styles |
| Get a color style by ID or name |
| Create a color style |
| Update a color style |
| Delete a color style |
| List all text styles |
| Create a text style |
| Update a text style |
| Delete a text style |
Plugin Disconnection
If you close the Framer plugin, Claude will get a clear error:
"Framer plugin is not connected. Open the Framer MCP plugin in your Framer project to continue."
Reopen the plugin and it reconnects automatically within a few seconds.
This server cannot be deployed
Maintenance
Related MCP Connectors
Build, clone & publish websites by chatting with Claude. Live in seconds, custom domains + SSL.
AI-powered design and management for Webflow Sites
Turn Claude or ChatGPT into a website builder that ships a real site to a live URL you own.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables Claude Desktop and other AI tools to interact directly with Figma, allowing for powerful AI-assisted design capabilities through natural language commands.92309 npm659MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude Desktop to interact directly with Figma, allowing natural language commands to create, modify, and analyze designs including shapes, text, components, and layouts in real-time.MIT
- FlicenseBqualityFmaintenanceEnables bidirectional control between Claude Code and Figma with real-time sync, allowing creation and manipulation of design elements, component management, and document inspection through natural language commands.504-
- AlicenseNot gradedqualityDmaintenanceEnables Claude to interact directly with Figma Desktop for creating UI components, managing design tokens, and auditing files through natural language. It establishes a live connection between the AI and the Figma API via a local server and companion plugin.15,625 npmMIT