Webflow
Manage Webflow sites via the official Webflow MCP server -- pages, CMS, assets, components, styles, variables, custom code, comments, localization, and publishing. Covers the headless Data API tools and the Designer API tools (which need the Webflow Designer open in the foreground). Use when: reading, auditing, or editing a Webflow site; building or duplicating pages; managing CMS collections or assets; or adding legal/marketing pages. This plugin ships the Webflow MCP server; just authenticate (OAuth).From its SKILL.md
npx -y skills add Yesterday-AI/skills --skill webflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.6 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Webflow πͺ
Read and edit Webflow sites through the official Webflow MCP server: pages, CMS, assets, components, styles, variables, custom code, comments, localization, and publishing.
Setup
This plugin ships the Webflow MCP server (.mcp.json β webflow, remote
HTTP at https://mcp.webflow.com/mcp). It registers automatically when the
plugin is enabled β no claude mcp add, no API key.
You only need to authenticate (OAuth) once:
- Call the
authenticatetool, open the returned URL, authorize. - The real tools load automatically once the flow completes. If the
localhost/callbackpage errors, pass the full address-bar URL tocomplete_authentication.
Verify with a real call before claiming success β e.g. data_sites_tool
β list_sites. "Connected" in /mcp is not proof; run a tool.
Standalone (no plugin)? Add the server by hand:
claude mcp add webflow --transport http https://mcp.webflow.com/mcp.
Two tool tiers β read this first
| Tier | Tools | Needs Designer open? |
|---|---|---|
| Data API (REST) | data_sites_tool, data_pages_tool, data_cms_tool, data_assets_tool, data_scripts_tool, data_comments_tool, data_localization_tool | No β works headless |
| Designer API (live canvas) | de_page_tool, de_component_tool, element_tool, element_builder, whtml_builder, style_tool, variable_tool, asset_tool, element_snapshot_tool | Yes |
Designer tools require the Webflow Designer open in a browser tab, in the foreground, with the MCP Bridge app running. When the tab goes to the background or idle, calls time out / "Unable to connect" β the server returns a Bridge-app link; share it as a markdown link and ask the user to reopen the Designer and keep it foreground, then retry.
Always call webflow_guide_tool once at the start of a Designer session
(the server requires it before other tools). ask_webflow_ai answers
Webflow how-to questions.
Core workflows
Inventory / audit (headless)
data_sites_tool list_sites β per site: data_pages_tool list_pages,
data_cms_tool get_collection_list, data_scripts_tool get_registered_scripts
get_site_scripts,data_comments_tool list_comment_threads. Assets, components, styles, variables need the Designer (asset_tool,de_component_tool get_all_components,style_tool get_styles,variable_tool get_variable_collections).
Create a page
There is no Data-API create-page. Either de_page_tool create_page
(blank β no nav/footer, since those are per-page unless componentized), or
have the user duplicate an existing page in the Pages panel (keeps
nav/footer/styles), then edit content via MCP. Set slug/SEO with
data_pages_tool update_page_settings.
Replace rich-text body
whtml_builder into the content container with one root <div> (<p>,
<strong>, <br>, <a href="mailto:β¦">), supply matching CSS via the css
param, then remove_element the old block. Verify with element_snapshot_tool.
Add a link across pages (no components)
If the footer/nav is duplicated per page, repeat per page: switch_page β
verify with get_current_page β query_elements (filter by style) to
find the wrapper β element_builder a TextLink with the existing style +
set_link (page). Snapshot to confirm.
Publish
data_sites_tool publish_site (or the user clicks Publish). Publishing
pushes every staged change since the last publish, not just yours β warn the
user and have them preview first.
Gotchas
- Never assume
site_idβlist_sitesand confirm. Data tools require it explicitly. get_all_elementsoutput is huge β it often exceeds the token limit and is saved to a file; slice it with python (read()[A:B]) or parse in a subagent. Preferquery_elementswith filters when you can.- Active-page drift:
switch_pagedoes not always stick; element ops fail with "parent not found" if the canvas is on another page. Alwaysget_current_pageto verify before building. set_texton a RichText collapses formatting β usewhtml_builderfor structured content.- Inherited styles: new plain blocks can inherit
text-align: justify, bold display fonts, etc. from the body. Setfont-family/font-weight/text-alignexplicitly and snapshot. - Verify visually:
element_snapshot_toolafter every structural edit. Don't trust the success message alone. - Nothing is live until published. Treat publish as outward-facing β get explicit confirmation; never publish unprompted.
Safety
Read-only Data tools (list_*, get_*) are always safe. Treat any
write (create/update/delete elements, CMS items, scripts) and publish_site
as consequential and outward-facing β confirm scope first, and let the user
own the publish.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most mcp tooling skills give in ~1.2k tokens
Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07
- Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
- Test servers using MCP Inspectorin 61 of 638, across 19 files
- Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
- Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
- Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
- Define structured output schemas where possiblein 50 of 638, across 8 files
- Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
- Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
- Load framework documentation using WebFetchin 45 of 638, across 3 files
- Verify each evaluation answer independentlyin 45 of 638, across 3 files
- Implement API client with authentication and paginationin 45 of 638, across 3 files
- Define input schemas with validationin 27 of 638, across 9 files
Said here and by no other author read
- authenticate via OAuth before using tools
- call webflow_guide_tool once before designer sessions
- confirm site_id with list_sites before data calls
- verify active page with get_current_page before building
- set slug and SEO with update_page_settings
- use whtml_builder for structured content
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.