Skip to content

Commit 45503cf

Browse files
Merge pull request #63 from webflow/designer-readmer
docs: Add Designer MCP Installation Instructions
2 parents 8529d5e + c20f9fe commit 45503cf

File tree

1 file changed

+85
-183
lines changed

1 file changed

+85
-183
lines changed

README.md

Lines changed: 85 additions & 183 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,33 @@
1-
# Webflow's Official MCP Server
1+
# Webflow's MCP server
22

33
A Node.js server implementing Model Context Protocol (MCP) for Webflow using the [Webflow JavaScript SDK](https://github.com/webflow/js-webflow-api). Enable AI agents to interact with Webflow APIs. Learn more about Webflow's Data API in the [developer documentation](https://developers.webflow.com/data/reference).
44

55
[![npm shield](https://img.shields.io/npm/v/webflow-mcp-server)](https://www.npmjs.com/package/webflow-mcp-server)
6-
[![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-Built%20with%20Fern-brightgreen)](https://buildwithfern.com/?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fwebflow%2Fmcp-server)
6+
![Webflow](https://img.shields.io/badge/webflow-%23146EF5.svg?style=for-the-badge&logo=webflow&logoColor=white)
77

8-
## Prerequisites
8+
## Prerequisites
99

1010
- [Node.js](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
1111
- [NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
1212
- [A Webflow Account](https://webflow.com/signup)
1313

14-
## ▶️ Quick start (hosted on Cloudflare workers)
14+
## 🚀 Remote installation
1515

16-
**For Cursor:**
16+
Get started by installing Webflow's remote MCP server. The remote server uses OAuth to authenticate with your Webflow sites, and a companion app that syncs your live canvas with your AI agent.
1717

18-
1. Go to `Settings``Cursor Settings``MCP`
19-
2. Click `+ Add New Global MCP Server`
20-
3. Paste the following configuration (or add the `webflow` part to your existing configuration)
18+
### Requirements
19+
20+
- Node.js 22.3.0 or higher
21+
22+
> Note: The MCP server currently supports Node.js 22.3.0 or higher. If you run into version issues, see the [Node.js compatibility guidance.](https://developers.webflow.com/data/v2.0.0/docs/ai-tools#nodejs-compatibility)
23+
24+
### Cursor
25+
26+
#### Add MCP server to Cursor
27+
28+
1. Go to `Settings → Cursor Settings → MCP & Integrations`.
29+
2. Under MCP Tools, click `+ New MCP Server`.
30+
3. Paste the following configuration into `.cursor/mcp.json` (or add the `webflow` part to your existing configuration):
2131

2232
```json
2333
{
@@ -29,32 +39,47 @@ A Node.js server implementing Model Context Protocol (MCP) for Webflow using the
2939
}
3040
```
3141

32-
4. Save, Cursor will automatically open a new browser window showing an OAuth login page to authorize the Webflow sites you want the MCP server to have access to.
42+
> Tip: You can create a project-level `mcp.json` to avoid repeated auth prompts across multiple Cursor windows. See Cursor’s docs on [configuration locations.](https://docs.cursor.com/en/context/mcp#configuration-locations)
3343
34-
**For Claude Desktop:**
44+
4. Save and close the file. Cursor will automatically open an OAuth login page where you can authorize Webflow sites to use with the MCP server.
3545

36-
1. Open `Settings``Developer`
37-
2. Click `Edit Config`
38-
3. Open `claude_desktop_config.json` in a code editor and paste the following configuration (or add the `webflow` part to your existing configuration)
46+
#### Open the Webflow Designer
3947

40-
```json
41-
{
42-
"mcpServers": {
43-
"webflow": {
44-
"command": "npx",
45-
"args": ["mcp-remote", "https://mcp.webflow.com/sse"]
46-
}
47-
}
48-
}
48+
- Open your site in the Webflow Designer, or ask your AI agent:
49+
50+
```text
51+
Give me a link to open <MY_SITE_NAME> in the Webflow Designer
4952
```
5053

51-
4. Save the file and restart Claude Desktop (command/ctrl + R). When Claude restarts, it will automatically open a new browser window showing an OAuth login page to authorize the Webflow sites you want the MCP server to have access to.
54+
#### Open the MCP Webflow App
55+
56+
1. In the Designer, open the Apps panel (press `E`).
57+
2. Launch your published "Webflow MCP Bridge App".
58+
3. Wait for the app to connect to the MCP server.
59+
60+
#### Write your first prompt
5261

53-
**For Windsurf:**
62+
Try these in your AI chat:
5463

55-
1. Navigate to `Windsurf - Settings``Advanced Settings`
56-
2. Scroll down to the `Cascade` section → `Add Server``Add custom server +`
57-
3. Paste the following configuration (or add the `webflow` part to your existing configuration)
64+
```text
65+
Analyze my last 5 blog posts and suggest 3 new topic ideas with SEO keywords
66+
```
67+
68+
```text
69+
Find older blog posts that mention similar topics and add internal links to my latest post
70+
```
71+
72+
```text
73+
Create a hero section card on my home page with a CTA button and responsive design
74+
```
75+
76+
### Claude desktop
77+
78+
#### Add MCP server to Claude desktop
79+
80+
1. Enable developer mode: `Help → Troubleshooting → Enable Developer Mode`.
81+
2. Open developer settings: `File → Settings → Developer`.
82+
3. Click `Get Started` or edit the configuration to open `claude_desktop_config.json` and add:
5883

5984
```json
6085
{
@@ -67,88 +92,59 @@ A Node.js server implementing Model Context Protocol (MCP) for Webflow using the
6792
}
6893
```
6994

70-
4. Click `Save`, Windsurf will automatically open a new browser window showing an OAuth login page to authorize the Webflow sites you want the MCP server to have access to.
95+
4. Save and restart Claude Desktop (`Cmd/Ctrl + R`). An OAuth login page will open to authorize sites.
7196

72-
**For VS Code:**
97+
#### Open the Webflow Designer
7398

74-
1. Open `settings.json`
75-
2. Paste the following configuration (or add the `webflow` part to your existing configuration)
99+
- Open your site in the Webflow Designer, or ask your AI agent:
76100

77-
```json
78-
{
79-
"mcp": {
80-
"servers": {
81-
"webflow": {
82-
"command": "npx",
83-
"args": ["mcp-remote", "https://mcp.webflow.com/sse"]
84-
}
85-
}
86-
}
87-
}
101+
```text
102+
Give me a link to open <MY_SITE_NAME> in the Webflow Designer
88103
```
89104

90-
4. `Save` the file. You should see a `start` button appear over the "webflow" key which you can click to open and run the auth flow. Alternatively, restart VS Code and the auth flow should start automatically.
105+
#### Open the MCP Webflow App
91106

92-
**Important note**
107+
1. In the Designer, open the Apps panel (press `E`).
108+
2. Launch your published "Webflow MCP Bridge App".
109+
3. Wait for the app to connect to the MCP server.
93110

94-
All these methods rely on the `mcp-remote` [npm package](https://www.npmjs.com/package/mcp-remote) which is still considered experimental as of 04/30/2025.
95-
If at any point you have issues, and want to reset your OAuth tokens, you can run the following command before restarting your MCP client:
111+
#### Write your first prompt
96112

97-
```shell
98-
rm -rf ~/.mcp-auth
113+
```text
114+
Analyze my last 5 blog posts and suggest 3 new topic ideas with SEO keywords
99115
```
100116

101-
## ▶️ Quick start (local installation)
117+
```text
118+
Find older blog posts that mention similar topics and add internal links to my latest post
119+
```
102120

103-
1. **Get your Webflow API token**
121+
```text
122+
Create a hero section card on my home page with a CTA button and responsive design
123+
```
104124

105-
- Go to [Webflow's API Playground](https://developers.webflow.com/data/reference/token/authorized-by)
106-
- Log in and generate a token
107-
- Copy the token from the Request Generator
108-
![Get API Token](https://prod.ferndocs.com/_next/image?url=https%3A%2F%2Ffiles.buildwithfern.com%2Fwebflow-preview-6a549203-c0da-4038-8adf-1dbed286cb83.docs.buildwithfern.com%2F2025-03-28T17%3A56%3A04.435Z%2Fassets%2Fimages%2Fapi-key-playground.png&w=3840&q=75)
125+
### Reset your OAuth Token
109126

110-
2. **Add to your AI editor**
127+
To reset your OAuth token, run the following command in your terminal.
111128

112-
```json
113-
{
114-
"mcpServers": {
115-
"webflow": {
116-
"command": "npx",
117-
"args": ["-y", "[email protected]"],
118-
"env": {
119-
"WEBFLOW_TOKEN": "<YOUR_WEBFLOW_TOKEN>"
120-
}
121-
}
122-
}
123-
}
129+
```bash
130+
rm -rf ~/.mcp-auth
124131
```
125132

126-
**For Cursor:**
133+
### Node.js compatibility
127134

128-
1. Go to Settings → Cursor Settings → MCP
129-
2. Click `+ Add New Global MCP Server`
130-
3. Paste configuration
131-
4. Replace `YOUR_WEBFLOW_TOKEN` with the token you copied earlier
132-
5. Save and **restart** Cursor
133-
134-
**For Claude Desktop:**
135-
136-
1. Open Settings → Developer
137-
2. Click `Edit Config`
138-
3. Open `claude_desktop_config.json` in a code editor and paste configuration
139-
4. Replace `YOUR_WEBFLOW_TOKEN` with the token you copied earlier 5. Save and **restart** Claude
135+
Please see the Node.js [compatibility guidance on Webflow's developer docs.](https://developers.webflow.com/data/v2.0.0/docs/ai-tools#nodejs-compatibility)
140136

141137
## ❓ Troubleshooting
142138

143139
If you are having issues starting the server in your MCP client e.g. Cursor or Claude Desktop, please try the following.
144140

145-
### Ensure you have a valid Webflow API token
141+
### Make sure you have a valid Webflow API token
146142

147143
1. Go to [Webflow's API Playground](https://developers.webflow.com/data/reference/token/authorized-by), log in and generate a token, then copy the token from the Request Generator
148144
2. Replace `YOUR_WEBFLOW_TOKEN` in your MCP client configuration with the token you copied
149145
3. Save and **restart** your MCP client
150146

151-
### Ensure you have the Node and NPM installed
147+
### Make sure you have the Node and NPM installed
152148

153149
- [Node.js](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
154150
- [NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
@@ -176,113 +172,19 @@ Note: if you are making changes to your shell configuration, you may need to res
176172

177173
## 🛠️ Available tools
178174

179-
### Sites
180-
181-
```
182-
sites - list; // List all sites
183-
sites - get; // Get site details
184-
sites - publish; // Publish site changes
185-
```
186-
187-
### Pages
188-
189-
```
190-
pages - list; // List all pages
191-
pages - get - metadata; // Get page metadata
192-
pages - update - page - settings; // Update page settings
193-
pages - get - content; // Get page content
194-
pages - update - static - content; // Update page content
195-
```
196-
197-
### Components
198-
199-
```
200-
components - list // List all components in a site
201-
components - get - content // Get component content (text, images, nested components)
202-
components - update - content // Update component content for localization
203-
components - get - properties // Get component properties (default values)
204-
components - update - properties // Update component properties for localization
205-
```
206-
207-
### CMS
208-
209-
```
210-
collections - list; // List collections
211-
collections - get; // Get collection details
212-
collections - create; // Create a collection
213-
collection - fields - create - static; // Create a static field
214-
collection - fields - create - option; // Create an option field
215-
collection - fields - create - reference; // Create a reference field
216-
collection - fields - update; // Update a custom field
217-
collections - items - create - item - live; // Create items
218-
collections - items - update - items - live; // Update items
219-
collections - items - list - items; // List collection items
220-
collections - items - create - item; // Create collection items (staged)
221-
collections - items - update - items; // Update collection items (staged)
222-
collections - items - publish - items; // Publish collection items
223-
```
175+
See the `./tools` directory for a list of available tools
224176

225-
### Custom Code
177+
# 🗣️ Prompts & resources
226178

227-
```
228-
custom code - add - inline - site - script // Register an inline script for a site
229-
custom code - get - registered - site - script - list // List all scripts registered to a site
230-
custom code - get - applied - site - script - list //Get all scripts applied to a site
231-
custom code - delete site custom code // Remove scripts from a site
232-
```
233-
234-
### Components
235-
236-
```
237-
components - list; // List all components for a site
238-
components - content - get; // Get static content from a component definition
239-
components - content - update; // Update content within a component definition for secondary locales
240-
components - properties - get; // Get the default property values of a component definition
241-
components - properties - update; // Update the default property values of a component definition for secondary locales
242-
```
243-
244-
### Ask Webflow AI
245-
246-
```
247-
ask - webflow - ai; // Search Webflow Docs using AI search
248-
```
249-
250-
# 🗣️ Prompts & Resources
251-
252-
This implementation **does not** include `prompts` or `resources` from the MCP specification. However, this may change in the future when there is broader support across popular MCP clients.
253-
254-
# 🚧 Development mode
255-
256-
If you want to run the server in development mode, you can install dependencies and run the server using the following command:
257-
258-
1. Clone and install:
259-
260-
```shell
261-
git clone [email protected]:webflow/mcp-server.git
262-
cd mcp-server
263-
npm install
264-
```
265-
266-
2. Add your token to a `.env` file at the root of the project:
267-
268-
```shell
269-
# .env
270-
WEBFLOW_TOKEN=<YOUR_WEBFLOW_TOKEN>
271-
```
272-
273-
3. Start development server:
274-
275-
```shell
276-
npm start
277-
```
179+
This implementation **doesn't** include `prompts` or `resources` from the MCP specification. However, this may change in the future when there is broader support across popular MCP clients.
278180

279-
## 📄 Webflow Developer resources
181+
## 📄 Webflow developer resources
280182

281183
- [Webflow API Documentation](https://developers.webflow.com/data/reference)
282184
- [Webflow JavaScript SDK](https://github.com/webflow/js-webflow-api)
283185

284-
## ⚠️ Known Limitations
186+
## ⚠️ Known limitations
285187

286-
### Static Page Content Updates
188+
### Static page content updates
287189

288-
The pages_update_static_content endpoint currently only supports updates to localized static pages in secondary locales. Updates to static content in the default locale are not supported and will result in errors.
190+
The `pages_update_static_content` endpoint currently only supports updates to localized static pages in secondary locales. Updates to static content in the default locale aren't supported and will result in errors.

0 commit comments

Comments
 (0)