Skill v1.0.1
currentAutomated scan100/100+3 new
version: "1.0.1" name: webflow-mcp:designer-tools description: Build and manage pages, elements, components, and styles in Webflow Designer. Use when adding sections, creating layouts, building elements, inspecting or updating components, viewing what's inside a component, restructuring pages, creating new pages, previewing page structure, styling elements, or managing component properties. Building, styling, and inspecting run headlessly against an explicit page ID — no Designer connection needed. Designer is required for designer_tool actions (reading/switching the page open on canvas, interactively selecting an element, creating page folders, opening a component's canvas view) and for element_snapshot_tool visual previews. mcp-version: 2.0.1
Page Structure
Build, inspect, and manage page elements and components in the Webflow Designer.
Important Note
ALWAYS use Webflow MCP tools for all operations:
- Use Webflow MCP's
webflow_guide_toolto get best practices before any other tool call - Use Webflow MCP's
data_sites_toolwith actionlist_sitesto identify the target site - Use Webflow MCP's
data_pages_toolwith actionlist_pagesto find the target page by name or slug — headless, works against any page - Use Webflow MCP's
data_pages_toolwith actioncreate_pageto create new pages — headless - Use Webflow MCP's
data_element_toolwith actionget_all_elementsorquery_elementsto retrieve or filter page elements — headless, pass the page's ID directly - Use Webflow MCP's
data_element_builderto create new elements — headless, pass the page's ID and a parent element ID - Use Webflow MCP's
data_element_toolwith actionset_attributes,set_text,set_style, orset_linkto modify elements — headless - Use Webflow MCP's
element_snapshot_toolto get visual previews of elements before and after changes — this is a Designer tool and requires a Designer connection - Use Webflow MCP's
data_style_toolto create and update styles on elements — headless - Use Webflow MCP's
webflow_guide_toolto check supported style properties - Use Webflow MCP's
data_component_toolwith actionget_all_componentsorquery_componentsto list site components — headless - Use Webflow MCP's
data_component_toolwith actionget_componentto inspect a component's metadata — headless - Use Webflow MCP's
data_element_toolscoped withscope_component_idto inspect or edit a component's internal elements (its "content") — headless - Use Webflow MCP's
data_component_props_toolto manage prop definitions and set prop values on component instances — headless - Use Webflow MCP's
data_component_variants_toolto manage variants and per-variant style overrides — headless - Use Webflow MCP's
data_component_toolwith actioninsert_component_instanceorunlink_component_instanceto manage component instances on a page — headless, not Designer-gated - Use Webflow MCP's
designer_toolonly for actions that need a live canvas:get_current_page/switch_page(what's open in Designer right now),select_element/get_selected_element(interactive canvas selection),create_page_folder(page folders are Designer-only, unlike page creation itself), andopen_component_view(viewing a component's canvas) - DO NOT use any other tools or methods for Webflow operations
- All tool calls must include the required
contextparameter (15-25 words, third-person perspective) - Designer connection is required for `designer_tool` actions and for `element_snapshot_tool`. Building, styling, inspecting, and updating elements, components, props, and variants (the
data_tools) runs headlessly against an explicit page ID fromdata_pages_tool'slist_pages— but the before/after visual snapshots this skill relies on for safe mutation need Designer open and connected. If Designer isn't available, skip the snapshot steps and rely onquery_elementsoutput to describe changes instead.
Instructions
Phase 1: Discovery
- Call `webflow_guide_tool` first — always the first MCP tool call in any workflow
- Get the site: Use
data_sites_toolwith actionlist_sitesto identify the target site. If only one site exists, use it automatically. - Get the target page: Use
data_pages_toolwith actionlist_pagesto find the page by name or slug — no Designer connection needed. If the user is actively working in an open Designer session and wants "the page I have open," usedesigner_toolwith actionget_current_pageinstead. - If user specifies a different page: Just use that page's ID directly in later calls — no page "switch" is needed for headless operations. Only use
designer_toolwith actionswitch_pageif the user wants the Designer canvas itself to navigate there. - Identify the task type:
- Inspect: List elements, view structure, preview → go to Phase 2
- Build/Modify/Delete: Add, update, restructure, remove → go to Phase 3
- Components: List, inspect, update → go to Phase 2 or Phase 3 depending on read vs write
Phase 2: Inspection (read-only operations)
- List page elements: Use
data_element_toolwithget_all_elements(orquery_elementsto filter by type/text/attribute) to retrieve page structure, passing the page ID from Phase 1. Present a summary of sections, elements, and nesting. - Preview elements: Use
element_snapshot_toolto get visual previews of specific sections — requires Designer - List components: Use
data_component_toolwith actionget_all_componentsorquery_componentsto list all site components - Inspect a component: Use
data_component_toolwith actionget_componentfor metadata (props, variants), ordata_element_toolwithscope_component_idset to the component's ID to inspect its internal elements
Phase 3: Planning (before any mutation)
Before creating, updating, or deleting anything:
- Snapshot current state: Use
element_snapshot_toolto capture the area being changed — requires Designer; if unavailable, describe the current state fromquery_elementsoutput instead - Present the plan: Describe exactly what will be created, modified, or deleted
- Request explicit confirmation: Ask the user before proceeding:
- "Would you like me to proceed with these changes?"
- "Shall I go ahead and create this?"
- "Do you want me to apply these changes?"
- "Before I make changes, here's what I'll do: [plan]. Confirm to proceed."
- For destructive operations (delete, restructure): Require "confirm" or "delete", warn about child elements that will also be affected
Phase 4: Execution (after confirmation only)
- Build elements: Use
data_element_builderto create new elements (max 3 levels deep), passing the page ID and the parent element ID. For deeper structures, build in multiple passes. - Style elements: Use
data_style_toolto apply or update styles on created or existing elements - Modify elements: Use
data_element_toolwithset_attributes,set_text,set_style, orset_linkto update attributes, text, or links - Update components: Use
data_element_tool(scoped withscope_component_id) to edit a component's internal elements;data_component_props_toolto change prop definitions or instance prop values;data_component_variants_toolto manage variants;data_component_toolwithinsert_component_instance/unlink_component_instanceto add or unlink instances on a page - Create pages: Use
data_pages_toolwith actioncreate_page. To create a page folder, usedesigner_toolwith actioncreate_page_folder— this specific action requires a Designer connection
Phase 5: Verification
- Snapshot the result: Use
element_snapshot_toolto capture the new state — requires Designer; if unavailable, summarize the change from the tool response instead - Report what changed: Summarize the changes made
Examples
Example 1: List page elements
User: "Show me all elements on the homepage"
- Call
webflow_guide_toolfor best practices - Call
data_sites_toolwithlist_sitesto identify the site - Call
data_pages_toolwithlist_pagesto find the homepage's page ID - Call
data_element_toolwithget_all_elements(using that page ID) to retrieve page structure - Present organized summary of sections, elements, and nesting
Example 2: Build a hero section
User: "Add a hero section with a heading and CTA button"
- Call
webflow_guide_toolfor best practices - Call
data_sites_toolwithlist_sitesto identify the site - Call
data_pages_toolwithlist_pagesto find the target page's ID - Call
element_snapshot_toolto capture current state - Present plan: "I'll create a Section with a Heading and Button. Would you like me to proceed?"
- After confirmation: call
data_element_builderwith nested structure - Call
data_style_toolto apply styles (padding, background, typography) - Call
element_snapshot_toolto show the result
Example 3: Update a component
User: "Update the footer copyright text to 2026"
- Call
webflow_guide_toolfor best practices - Call
data_sites_toolwithlist_sitesto identify the site - Call
data_component_toolwithquery_componentsto find the footer component - Call
data_element_tool(scoped withscope_component_id) to inspect its internal elements and find the copyright text element - Present: "I'll update the copyright text from '2025' to '2026'. Would you like me to proceed?"
- After confirmation: call
data_element_toolwithset_text(scoped withscope_component_id) - Report the change
Example 4: Restructure a section
User: "Restructure the hero section layout"
- Call
webflow_guide_toolfor best practices - Call
data_sites_toolwithlist_sitesto identify the site - Call
data_pages_toolwithlist_pagesto find the target page's ID - Call
element_snapshot_toolto capture current hero section - Call
data_element_toolwithquery_elementsto inspect current structure - Present restructuring plan with before/after description
- After confirmation: apply changes using
data_element_tool(move_element,set_style, etc.) and/ordata_element_builder - Call
element_snapshot_toolto show the result
Example 5: Create a two-column layout
User: "Create a two-column layout with text on left and image on right"
- Call
webflow_guide_toolfor best practices - Call
data_sites_toolwithlist_sitesto identify the site - Call
data_pages_toolwithlist_pagesto find the target page's ID - Call
element_snapshot_toolto capture current state - Present plan: "I'll create a Grid with two columns — text block on left, image on right. Would you like me to proceed?"
- After confirmation: call
data_element_builderwith grid structure - Call
data_style_toolto set grid layout properties - Call
element_snapshot_toolto show the result
Guidelines
- `webflow_guide_tool` always first — before any other MCP tool in every workflow
- Snapshot before and after — use
element_snapshot_toolbefore mutations and after to show results - Never silently mutate — every write operation requires explicit user confirmation
- Headless for building and editing — get the page ID once via
data_pages_tool'slist_pages, then pass it directly todata_element_tool,data_element_builder, anddata_style_tool. Reach fordesigner_toolonly when the task specifically needs the live canvas (current-page detection, interactive selection, page folders, component canvas view). - Visual snapshots need Designer —
element_snapshot_toolis a Designer tool; if Designer isn't connected, fall back to describing changes fromquery_elements/tool response data instead of skipping the before/after check entirely. - Batch changes need itemized preview — if modifying multiple elements, list each change
- Prefer Webflow's native layout tools (Grid, Flexbox) over manual positioning
- Components shared across pages should be updated via
data_element_toolscoped to the component (changes propagate to all instances) - Component instance management (
insert_component_instance,unlink_component_instance) is headless viadata_component_tool— not Designer-gated data_element_buildersupports max 3 levels per call — build deeper structures in stages- Check
webflow_guide_toolfor supported style properties when unsure