{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-webflow","slug":"webflow","name":"Webflow","type":"mcp","url":"https://github.com/webflow/mcp-server","page_url":"https://unfragile.ai/webflow","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-webflow__cap_0","uri":"capability://tool.use.integration.mcp.standardized.webflow.api.bridging.with.stdio.durable.objects.transport","name":"mcp-standardized webflow api bridging with stdio/durable objects transport","description":"Implements Model Context Protocol as a translation layer between AI agents (Cursor, Claude Desktop) and Webflow's REST API, supporting dual deployment modes: Node.js with stdio communication for local development and Cloudflare Workers with Durable Objects for stateful cloud execution. The server exposes Webflow resources (sites, pages, CMS collections) as MCP tools with schema-based function definitions, enabling AI agents to discover and invoke operations through a standardized interface rather than direct HTTP calls.","intents":["Enable Claude or Cursor to programmatically query and modify Webflow sites without manual API integration","Deploy a persistent MCP server that AI agents can connect to for Webflow automation","Standardize how AI agents interact with Webflow across different client applications"],"best_for":["AI agent developers building Webflow automation workflows","Teams using Cursor or Claude Desktop who want native Webflow integration","Webflow agencies automating site management across multiple projects"],"limitations":["Requires Webflow API token with appropriate scopes — no built-in OAuth flow for end-user delegation","Stdio transport in Node.js mode is synchronous and single-connection — doesn't support concurrent agent requests","Cloudflare Workers deployment requires Durable Objects which adds latency and cost per request","No built-in request queuing or rate-limiting — relies on Webflow API's 60 req/min limit"],"requires":["Node.js 18+ for local deployment or Cloudflare Workers account for cloud deployment","Webflow API token from Webflow API Playground with read/write scopes","MCP client configured to connect to server (Cursor 0.40+, Claude Desktop 0.1.0+)"],"input_types":["MCP tool invocation with JSON parameters","Webflow API token (string)","Site ID, page ID, collection ID (strings)"],"output_types":["JSON-structured tool results","Webflow API response objects (sites, pages, collections, items)","Status/error messages"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-webflow__cap_1","uri":"capability://tool.use.integration.site.resource.enumeration.and.metadata.retrieval.with.publish.state.tracking","name":"site resource enumeration and metadata retrieval with publish state tracking","description":"Exposes MCP tools to list all Webflow sites accessible to an authenticated user and retrieve detailed metadata (site ID, name, domain, publish status, last modified timestamp) for individual sites. Implements pagination and filtering through Webflow's REST API, tracking publish state to enable agents to determine which sites have pending changes requiring deployment.","intents":["Discover all Webflow sites available under an API token to select which site to operate on","Check if a site has unpublished changes before triggering a publish operation","Retrieve site configuration details (domain, custom domain, SSL status) for reporting or validation"],"best_for":["Multi-site Webflow agencies managing dozens of client projects","Automation workflows that need to iterate across all sites in an account","CI/CD pipelines that publish changes to multiple Webflow sites"],"limitations":["List sites endpoint returns only basic metadata — full site configuration requires separate get-site-details call per site","No filtering by site status, domain, or creation date — agents must filter results in memory","Publish state is read-only — cannot determine what changed since last publish without external tracking"],"requires":["Webflow API token with sites:read scope","Network connectivity to Webflow API (api.webflow.com)"],"input_types":["MCP tool invocation (no parameters for list-sites, site ID string for get-site-details)"],"output_types":["JSON array of site objects with id, name, domain, createdOn, publishedOn fields","Single site object with full metadata including custom domain, SSL certificate status"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-webflow__cap_2","uri":"capability://tool.use.integration.page.content.and.metadata.manipulation.with.hierarchical.structure.awareness","name":"page content and metadata manipulation with hierarchical structure awareness","description":"Provides MCP tools to list pages within a site, retrieve page metadata (title, slug, SEO settings, custom attributes), fetch page content (HTML/DOM structure), and update page settings and content. The implementation maintains awareness of page hierarchy (parent-child relationships) and supports bulk operations on multiple pages through sequential tool invocations, enabling agents to restructure site navigation or update content across page trees.","intents":["Update page titles, slugs, and SEO metadata (meta description, OG tags) for multiple pages","Retrieve page content to analyze or modify HTML structure programmatically","Reorganize site navigation by moving pages within the hierarchy","Bulk update page settings (publish status, visibility, custom fields) across a section of the site"],"best_for":["Content teams automating SEO metadata updates across large sites","Developers building site structure migrations or reorganizations","Agencies updating client sites with templated content changes"],"limitations":["Page content is returned as HTML/DOM — no structured content extraction; agents must parse HTML to identify specific elements","Hierarchical operations (move page, reorder children) require multiple sequential calls — no atomic bulk operations","Custom page attributes are opaque — no schema validation; agents must know expected field names and types","Content updates are immediate — no draft/preview mode; changes publish to live site if page is published"],"requires":["Webflow API token with pages:read and pages:write scopes","Site ID to scope page operations","Page ID for individual page operations"],"input_types":["Site ID (string)","Page ID (string) for detail/update operations","JSON object with page settings (title, slug, seoDescription, customAttributes)"],"output_types":["JSON array of page objects with id, name, slug, createdOn, updatedOn, parentId","Single page object with full metadata and HTML content","Update confirmation with modified timestamp"],"categories":["tool-use-integration","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-webflow__cap_3","uri":"capability://tool.use.integration.cms.collection.schema.definition.and.item.crud.with.field.level.type.validation","name":"cms collection schema definition and item crud with field-level type validation","description":"Exposes MCP tools to list CMS collections within a site, define collection fields with type constraints (text, number, date, reference, multi-reference), and perform CRUD operations on collection items. The implementation validates item data against field schemas before submission to Webflow API, preventing invalid data from reaching the server. Supports reference fields (linking items across collections) and multi-reference fields (one-to-many relationships), enabling agents to build and maintain relational data structures.","intents":["Create new CMS collections with typed fields (e.g., blog posts with title, date, author reference)","Bulk import or update collection items from external data sources with automatic type coercion","Establish relationships between collections using reference fields","Query collection items with filtering and sorting to support content discovery workflows"],"best_for":["Content teams migrating data from spreadsheets or databases into Webflow CMS","Developers building headless CMS workflows where Webflow serves as content backend","Agencies automating client content updates from external systems"],"limitations":["Field type validation is client-side only — Webflow API may reject items for reasons not caught by schema validation","Reference fields require exact item IDs — no fuzzy matching or lookup by name; agents must resolve references manually","No bulk item operations — creating/updating 1000 items requires 1000 sequential API calls","Collection schema is immutable after creation — cannot add/remove/rename fields; requires collection deletion and recreation","No transaction support — partial failures in multi-item operations leave database in inconsistent state"],"requires":["Webflow API token with collections:read and collections:write scopes","Site ID to scope collection operations","Collection ID for item operations","Field schema definition (name, type, required boolean) for collection creation"],"input_types":["Site ID (string)","Collection definition with fields array (name, type, required, options for select fields)","Item object with field values matching collection schema","Filter/sort parameters for item queries (fieldId, operator, value)"],"output_types":["JSON array of collection objects with id, name, singularName, fields array","Single collection object with full field definitions and metadata","JSON array of collection items with id, createdOn, updatedOn, field values","Single item object with all field values"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-webflow__cap_4","uri":"capability://automation.workflow.site.publishing.and.deployment.orchestration.with.change.tracking","name":"site publishing and deployment orchestration with change tracking","description":"Provides MCP tool to publish pending changes from a Webflow site to its live domain. The implementation tracks which resources (pages, CMS items) have unpublished changes and enables agents to trigger deployment atomically, publishing all pending changes in a single operation. Supports conditional publishing (only if changes exist) to avoid unnecessary API calls and deployment cycles.","intents":["Deploy all pending site changes to production after content updates","Automate publishing workflows triggered by external events (scheduled jobs, webhook triggers)","Verify that all changes are published before notifying stakeholders"],"best_for":["CI/CD pipelines automating Webflow site deployments","Content workflows where publishing is triggered by external systems","Multi-site agencies coordinating deployments across client projects"],"limitations":["Publish operation is atomic — cannot selectively publish individual pages or collections; all pending changes deploy together","No rollback capability — published changes are immediately live; no staging/preview environment","Publish state is not queryable at granular level — cannot determine which specific resources have pending changes","No publish scheduling — deployment happens immediately; no ability to schedule future publishes","Publish operation is asynchronous but blocks until completion — agents cannot queue multiple publishes"],"requires":["Webflow API token with sites:write scope","Site ID to target for publishing","Pending changes must exist (pages or CMS items modified since last publish)"],"input_types":["Site ID (string)"],"output_types":["Publish confirmation object with publishedOn timestamp and status","Error message if no changes pending or publish fails"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-webflow__cap_5","uri":"capability://safety.moderation.authentication.and.api.token.management.with.scope.based.access.control","name":"authentication and api token management with scope-based access control","description":"Implements Webflow API token authentication at the MCP server level, validating tokens and enforcing scope-based access control for all tool invocations. The server stores the API token securely (environment variable or Cloudflare Workers secret) and includes it in all outbound Webflow API requests. Scope validation ensures that tools attempting to write data (pages:write, collections:write) are only available if the token has the required permissions, preventing agents from attempting operations that will fail.","intents":["Authenticate MCP clients to Webflow API using a single token shared across all agents","Enforce least-privilege access by validating token scopes before exposing write operations","Rotate or revoke API tokens without redeploying the MCP server"],"best_for":["Teams deploying shared MCP servers where multiple agents use the same Webflow account","Organizations requiring audit trails of which agents performed which operations","Agencies managing client Webflow accounts with delegated access"],"limitations":["Single token per server — no per-user authentication or multi-tenant support; all agents share the same Webflow account context","No OAuth flow — requires manual token generation in Webflow API Playground; no end-user delegation","Scope validation is static — cannot dynamically restrict access based on agent identity or request context","Token rotation requires server restart or environment variable update — no hot-reload capability","No audit logging of which agent performed which operation — all requests appear to come from the token owner"],"requires":["Webflow API token generated from Webflow API Playground (https://webflow.com/api-playground)","Token stored as WEBFLOW_API_TOKEN environment variable (Node.js) or Cloudflare secret (Workers)","Token must have appropriate scopes for intended operations (sites:read, pages:read/write, collections:read/write)"],"input_types":["API token string (passed to server at startup, not per-request)"],"output_types":["Authentication success/failure status","Scope validation results (which tools are available)"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-webflow__cap_6","uri":"capability://automation.workflow.dual.deployment.runtime.abstraction.with.node.js.stdio.and.cloudflare.workers.support","name":"dual-deployment runtime abstraction with node.js stdio and cloudflare workers support","description":"Abstracts deployment environment differences through a unified MCP server implementation that runs in two modes: Node.js with stdio transport for local development (connecting to Cursor/Claude Desktop via process pipes) and Cloudflare Workers with Durable Objects for cloud deployment (connecting via HTTP). The abstraction layer handles transport-specific concerns (stdio buffering, HTTP request/response serialization) while exposing identical MCP tool interfaces in both environments, enabling agents to switch deployment modes without code changes.","intents":["Develop and test MCP server locally using Node.js before deploying to production","Deploy MCP server to Cloudflare Workers for serverless execution without managing infrastructure","Scale MCP server from local development to cloud production with minimal configuration changes"],"best_for":["Developers building MCP servers who want local development and cloud deployment options","Teams using Cloudflare infrastructure who want to colocate MCP server with other Workers","Agencies deploying shared MCP servers for multiple clients without dedicated infrastructure"],"limitations":["Node.js stdio mode is single-connection — cannot handle concurrent agent requests; suitable only for single-user development","Cloudflare Workers deployment requires Durable Objects which adds per-request latency (50-100ms) and cost ($0.15/million requests)","Workers deployment has 30-second timeout limit — long-running operations (bulk imports) may fail","No persistent state between deployments in Node.js mode — each restart loses in-memory caches","Durable Objects state is eventually consistent — concurrent requests may see stale data"],"requires":["Node.js 18+ for local deployment (src/index.ts entry point)","Cloudflare account with Workers and Durable Objects enabled for cloud deployment (src/index.worker.ts entry point)","Webflow API token configured as environment variable (Node.js) or Cloudflare secret (Workers)"],"input_types":["MCP protocol messages (tool calls, resource requests) via stdio or HTTP"],"output_types":["MCP protocol responses (tool results, resources) via stdio or HTTP"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-webflow__cap_7","uri":"capability://tool.use.integration.mcp.tool.schema.generation.and.discovery.with.parameter.validation","name":"mcp tool schema generation and discovery with parameter validation","description":"Automatically generates MCP tool schemas for all Webflow operations (list sites, update page, create collection item, etc.), exposing them through the MCP tools list endpoint. Each schema includes parameter definitions with types, descriptions, and required/optional flags, enabling MCP clients to discover available operations and validate parameters before invocation. The server validates incoming tool calls against schemas, rejecting malformed requests with detailed error messages before forwarding to Webflow API.","intents":["Enable AI agents to discover all available Webflow operations without consulting documentation","Validate tool parameters at the MCP server level to catch errors early","Generate type-safe tool bindings in MCP clients (Cursor, Claude Desktop) for autocomplete and validation"],"best_for":["AI agents that need to discover available operations dynamically","MCP clients implementing autocomplete and parameter validation","Developers building custom MCP tools who want to follow MCP schema standards"],"limitations":["Schema generation is static — does not reflect dynamic constraints (e.g., cannot create collection with duplicate field names)","Parameter validation is shallow — checks types and required fields but not semantic constraints (e.g., valid slug format)","Schema descriptions are hardcoded — cannot be customized per deployment or user","No schema versioning — breaking changes to tool signatures require all clients to update"],"requires":["MCP client that supports tools list endpoint (Cursor 0.40+, Claude Desktop 0.1.0+)","No additional configuration — schemas are generated automatically from tool definitions"],"input_types":["MCP tools/list request (no parameters)"],"output_types":["JSON array of tool objects with name, description, inputSchema (JSON Schema format)"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":29,"verified":false,"data_access_risk":"high","permissions":["Node.js 18+ for local deployment or Cloudflare Workers account for cloud deployment","Webflow API token from Webflow API Playground with read/write scopes","MCP client configured to connect to server (Cursor 0.40+, Claude Desktop 0.1.0+)","Webflow API token with sites:read scope","Network connectivity to Webflow API (api.webflow.com)","Webflow API token with pages:read and pages:write scopes","Site ID to scope page operations","Page ID for individual page operations","Webflow API token with collections:read and collections:write scopes","Site ID to scope collection operations"],"failure_modes":["Requires Webflow API token with appropriate scopes — no built-in OAuth flow for end-user delegation","Stdio transport in Node.js mode is synchronous and single-connection — doesn't support concurrent agent requests","Cloudflare Workers deployment requires Durable Objects which adds latency and cost per request","No built-in request queuing or rate-limiting — relies on Webflow API's 60 req/min limit","List sites endpoint returns only basic metadata — full site configuration requires separate get-site-details call per site","No filtering by site status, domain, or creation date — agents must filter results in memory","Publish state is read-only — cannot determine what changed since last publish without external tracking","Page content is returned as HTML/DOM — no structured content extraction; agents must parse HTML to identify specific elements","Hierarchical operations (move page, reorder children) require multiple sequential calls — no atomic bulk operations","Custom page attributes are opaque — no schema validation; agents must know expected field names and types","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.26,"ecosystem":0.3,"match_graph":0.25,"freshness":0.9,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:21.013Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=webflow","compare_url":"https://unfragile.ai/compare?artifact=webflow"}},"signature":"K0XlM/iUtdR7+SbBmwa/NMI4f3KrTjN6KPG9vwKv99TLkSxPj8SguUtSNEiK7fcyk6Cnn5l+tLnltLM0HGZSCQ==","signedAt":"2026-06-16T00:54:26.012Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/webflow","artifact":"https://unfragile.ai/webflow","verify":"https://unfragile.ai/api/v1/verify?slug=webflow","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}