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 "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mubashir1osmani/framer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server