Build and style websites in the Webflow Designer using the Webflow MCP Bridge and browser automation. Use when the user wants to: (1) create or style pages/sections/elements in Webflow, (2) transfer a local web project (React, HTML/CSS, Next.js, etc.) to Webflow, (3) implement a Figma design in Webflow, (4) fix styling or layout issues in Webflow, (5) create or manage Webflow components, variables, or CMS collections, (6) work with responsive breakpoints in Webflow, (7) add custom code (Code Embeds) for SVGs, animations, or complex layouts, or (8) publish and QA a Webflow site. Trigger when user mentions "Webflow", "webflow designer", "MCP bridge", or asks to build/style web pages with Webflow tools.
Build pixel-perfect websites in the Webflow Designer using MCP tools and browser automation.
mcp__webflow__* tools)element_tool to explore the current page structure and find elements by style nameelement_builder to create new elements (DivBlock, Heading, Paragraph, LinkBlock, Image, etc.)style_tool to apply CSS properties at each breakpointset_text (via element_tool) to set text content on Heading/Paragraph elementselement_builder with param to insert component instancescomponentelement_snapshot_tool to capture screenshots, resize browser for responsive checksdata_sites_tool to publish the site| Tool | Purpose |
|---|---|
element_tool | Select/find elements, get element tree, set text, move/delete elements |
element_builder | Create new elements (type, parent, position, component instances) |
style_tool | Read/write CSS properties on style classes at specific breakpoints |
element_snapshot_tool | Capture visual screenshots of elements or pages |
variable_tool | Manage design variables (colors, fonts, spacing) |
data_pages_tool | List/manage pages |
data_sites_tool | Publish site, get site info |
de_page_tool | Page-level settings (title, slug, SEO) |
de_component_tool | Manage components (create, rename, list instances) |
style_tool with get_styles | List all existing style classes on the site |
webflow_guide_tool | Ask Webflow-specific questions (documentation reference) |
Webflow uses a desktop-first cascade. Styles set on main inherit downward unless overridden.
| Breakpoint | Name | Width | Cascade |
|---|---|---|---|
main | Desktop | ≥992px | Default — all screens inherit |
medium | Tablet | ≤991px | Overrides main |
small | Mobile landscape | ≤767px | Overrides medium |
tiny | Mobile portrait | ≤478px | Overrides small |
xl | Wide | ≥1440px | Extends main upward |
When transferring from a local mobile-first codebase, see references/breakpoints-and-styles.md for the mapping table.
style_tool → set_styles:
styleName: "my-element"
breakpoint: "main" # or "medium", "small", "tiny", "xl"
pseudo: "noPseudo" # REQUIRED when updating existing properties on main
properties:
font-size: "18px"
color: "#1A2332"
pseudo: "noPseudo" is required when updating existing properties on main breakpoint. Without it, the value silently fails to change.overflow is a shorthand — use overflow-x and overflow-y separately.TextBlock type creates a DivBlock that does NOT support set_text. Use Heading or Paragraph types for text elements.element_builder with component: "" (empty string) causes timeouts. Always pass a valid component ID or omit the parameter.element_tool with get_elements on complex pages can return 100K+ characters. Filter by style name or save to file and parse with jq/Python.workflow=sitePreview block style edits. Navigate to the designer URL without this parameter.?app= parameter to reconnect the MCP Bridge.transform: translate3d(...). Override with !important in a Code Embed.For the complete gotchas reference with solutions, see references/gotchas.md.
Every page section should include container constraints to prevent content from touching viewport edges:
max-width: 1200px, margin-left: auto, margin-right: autopadding-left: 40px, padding-right: 40pxpadding-left: 20px, padding-right: 20pxWhen the user has a local web project (React, Vue, HTML/CSS, etc.) and wants to replicate it in Webflow:
var(--x) to actual values)element_builderstyle_tool with resolved pixel values at each Webflow breakpointelement_tool → set_textFor the full detailed guide, see references/local-to-webflow.md.
variable_toolelement_buildermain breakpoint, then override for medium, small, tinyde_component_tool → transform_element_to_componentelement_toolde_component_tool → transform_element_to_component with a nameelement_builder with component: "<component-id>"element_tool → set_textPrefer Webflow variables over hardcoded values for consistency:
variable_tool → set_variable:
collection_id: "<collection-id>"
variable_id: "<variable-id>"
value: "#FF4733"
Reference variables in styles:
style_tool → set_styles:
properties:
color: "var(--variable-id)"
Discover existing variables with variable_tool → get_variables.