Webflow Integration
STDIOHTTP-SSENode.js server implementing MCP for Webflow using JavaScript SDK to enable AI interactions.
Node.js server implementing MCP for Webflow using JavaScript SDK to enable AI interactions.
A Node.js server implementing Model Context Protocol (MCP) for Webflow using the Webflow JavaScript SDK. Enable AI agents to interact with Webflow APIs. Learn more about Webflow's Data API in the developer documentation.
For Cursor:
Settings
→ Cursor Settings
→ MCP
+ Add New Global MCP Server
webflow
part to your existing configuration){ "mcpServers": { "webflow": { "command": "npx mcp-remote https://mcp.webflow.com/sse" } } }
For Claude Desktop:
Settings
→ Developer
Edit Config
claude_desktop_config.json
in a code editor and paste the following configuration (or add the webflow
part to your existing configuration){ "mcpServers": { "webflow": { "command": "npx", "args": ["mcp-remote", "https://mcp.webflow.com/sse"] } } }
For Windsurf:
Windsurf - Settings
→ Advanced Settings
Cascade
section → Add Server
→ Add custom server +
webflow
part to your existing configuration){ "mcpServers": { "webflow": { "command": "npx", "args": ["mcp-remote", "https://mcp.webflow.com/sse"] } } }
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.For VS Code:
settings.json
webflow
part to your existing configuration){ "mcp": { "servers": { "webflow": { "command": "npx", "args": ["mcp-remote", "https://mcp.webflow.com/sse"] } } } }
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.Important note
All these methods rely on the mcp-remote
npm package which is still considered experimental as of 04/30/2025.
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:
rm -rf ~/.mcp-auth
{ "mcpServers": { "webflow": { "command": "npx", "args": ["-y", "[email protected]"], "env": { "WEBFLOW_TOKEN": "<YOUR_WEBFLOW_TOKEN>" } } } }
For Cursor:
+ Add New Global MCP Server
YOUR_WEBFLOW_TOKEN
with the token you copied earlierFor Claude Desktop:
Edit Config
claude_desktop_config.json
in a code editor and paste configurationYOUR_WEBFLOW_TOKEN
with the token you copied earlier 5. Save and restart ClaudeIf you are having issues starting the server in your MCP client e.g. Cursor or Claude Desktop, please try the following.
YOUR_WEBFLOW_TOKEN
in your MCP client configuration with the token you copiedRun the following commands to confirm you have Node and NPM installed:
node -v npm -v
Sometimes clearing your NPM cache can resolve issues with npx
.
npm cache clean --force
If npm -v
doesn't work for you but sudo npm -v
does, you may need to fix NPM global package permissions. See the official NPM docs for more information.
Note: if you are making changes to your shell configuration, you may need to restart your shell for changes to take effect.
sites - list; // List all sites
sites - get; // Get site details
sites - publish; // Publish site changes
pages - list; // List all pages
pages - get - metadata; // Get page metadata
pages - update - page - settings; // Update page settings
pages - get - content; // Get page content
pages - update - static - content; // Update page content
components - list // List all components in a site
components - get - content // Get component content (text, images, nested components)
components - update - content // Update component content for localization
components - get - properties // Get component properties (default values)
components - update - properties // Update component properties for localization
collections - list; // List collections
collections - get; // Get collection details
collections - create; // Create a collection
collection - fields - create - static; // Create a static field
collection - fields - create - option; // Create an option field
collection - fields - create - reference; // Create a reference field
collection - fields - update; // Update a custom field
collections - items - create - item - live; // Create items
collections - items - update - items - live; // Update items
collections - items - list - items; // List collection items
collections - items - create - item; // Create collection items (staged)
collections - items - update - items; // Update collection items (staged)
collections - items - publish - items; // Publish collection items
custom code - add - inline - site - script // Register an inline script for a site
custom code - get - registered - site - script - list // List all scripts registered to a site
custom code - get - applied - site - script - list //Get all scripts applied to a site
custom code - delete site custom code // Remove scripts from a site
components - list; // List all components for a site
components - content - get; // Get static content from a component definition
components - content - update; // Update content within a component definition for secondary locales
components - properties - get; // Get the default property values of a component definition
components - properties - update; // Update the default property values of a component definition for secondary locales
ask - webflow - ai; // Search Webflow Docs using AI search
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.
If you want to run the server in development mode, you can install dependencies and run the server using the following command:
git clone [email protected]:webflow/mcp-server.git cd mcp-server npm install
.env
file at the root of the project:# .env WEBFLOW_TOKEN=<YOUR_WEBFLOW_TOKEN>
npm start
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.