Webflow MCP Server

Webflow MCP Server

Enables AI agents to interact with Webflow APIs for managing sites, pages, components, CMS collections, and custom code.

Category
Visit Server

README

Webflow's Official MCP Server

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.

npm shield fern shield

ℹ Prerequisites

▶️ Quick start (hosted on Cloudflare workers)

For Cursor:

  1. Go to SettingsCursor SettingsMCP
  2. Click + Add New Global MCP Server
  3. Paste the following configuration (or add the webflow part to your existing configuration)
{
  "mcpServers": {
    "webflow": {
      "command": "npx mcp-remote https://mcp.webflow.com/sse"
    }
  }
}
  1. 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.

For Claude Desktop:

  1. Open SettingsDeveloper
  2. Click Edit Config
  3. Open 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"]
    }
  }
}
  1. 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.

For Windsurf:

  1. Navigate to Windsurf - SettingsAdvanced Settings
  2. Scroll down to the Cascade section → Add ServerAdd custom server +
  3. 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"]
    }
  }
}
  1. 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.

For VS Code:

  1. Open settings.json
  2. Paste the following configuration (or add the webflow part to your existing configuration)
{
  "mcp": {
    "servers": {
      "webflow": {
        "command": "npx",
        "args": ["mcp-remote", "https://mcp.webflow.com/sse"]
      }
    }
  }
}
  1. 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

▶️ Quick start (local installation)

  1. Get your Webflow API token
  1. Add to your AI editor
{
  "mcpServers": {
    "webflow": {
      "command": "npx",
      "args": ["-y", "webflow-mcp-server@0.6.0"],
      "env": {
        "WEBFLOW_TOKEN": "<YOUR_WEBFLOW_TOKEN>"
      }
    }
  }
}

For Cursor:

  1. Go to Settings → Cursor Settings → MCP
  2. Click + Add New Global MCP Server
  3. Paste configuration
  4. Replace YOUR_WEBFLOW_TOKEN with the token you copied earlier
  5. Save and restart Cursor

For Claude Desktop:

  1. Open Settings → Developer
  2. Click Edit Config
  3. Open claude_desktop_config.json in a code editor and paste configuration
  4. Replace YOUR_WEBFLOW_TOKEN with the token you copied earlier 5. Save and restart Claude

❓ Troubleshooting

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

Ensure you have a valid Webflow API token

  1. Go to Webflow's API Playground, log in and generate a token, then copy the token from the Request Generator
  2. Replace YOUR_WEBFLOW_TOKEN in your MCP client configuration with the token you copied
  3. Save and restart your MCP client

Ensure you have the Node and NPM installed

Run the following commands to confirm you have Node and NPM installed:

node -v
npm -v

Clear your NPM cache

Sometimes clearing your NPM cache can resolve issues with npx.

npm cache clean --force

Fix NPM global package permissions

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.

🛠️ Available tools

Sites

sites - list; // List all sites
sites - get; // Get site details
sites - publish; // Publish site changes

Pages

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

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

CMS

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

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

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

ask - webflow - ai; // Search Webflow Docs using AI search

🗣️ Prompts & Resources

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.

🚧 Development mode

If you want to run the server in development mode, you can install dependencies and run the server using the following command:

  1. Clone and install:
git clone git@github.com:webflow/mcp-server.git
cd mcp-server
npm install
  1. Add your token to a .env file at the root of the project:
# .env
WEBFLOW_TOKEN=<YOUR_WEBFLOW_TOKEN>
  1. Start development server:
npm start

📄 Webflow Developer resources

⚠️ Known Limitations

Static Page Content Updates

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured