mcpField
W
webflow-automation

webflow-automation

github.com/davepoon开发3.7k120 次安装1 天前更新
代码仓库

关于 webflow-automation

通过 Rube MCP 和 Composio 自动处理 Webflow CMS、网站发布、页面检查、资产上传及电商订单查询,适用于管理 Webflow 网站及其内容的工作流。

主要功能

  1. 01创建、更新、列出和删除 CMS 条目
  2. 02检查网站、集合和页面
  3. 03发布已暂存的网站更改
  4. 04上传网站资产
  5. 05查询电商订单

适用场景

  1. 01更新 Webflow CMS 集合
  2. 02检查页面元数据和 DOM 结构
  3. 03发布已暂存的更改
  4. 04上传文件或查询电商订单

MCP 相关

通过 Rube MCP 使用 Composio 的 Webflow 工具集。需要有效的 Webflow 连接,并通过 RUBE_SEARCH_TOOLS 获取当前工具架构。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davepoon/buildwithclaude --skill webflow-automation

安装后在 Claude Code 中输入/webflow-automation确认已加载。

详细介绍

通过 Rube MCP 自动化 Webflow

通过 Composio 的 Webflow 工具包自动执行 Webflow 操作,包括 CMS 集合管理、网站发布、页面检查、资源上传和电商订单检索。

工具包文档:composio.dev/toolkits/webflow

先决条件

  • 必须已连接 Rube MCP(RUBE_SEARCH_TOOLS 可用)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Webflow 连接,工具包为 webflow
  • 始终先调用 RUBE_SEARCH_TOOLS,以获取当前工具架构

设置

获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务。无需 API 密钥 — 只需添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 能正常响应,以验证 Rube MCP 可用
  2. 使用工具包 webflow 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请根据返回的授权链接完成 Webflow OAuth
  4. 运行任何工作流前,确认连接状态显示为 ACTIVE

核心工作流

1. 管理 CMS 集合项

适用场景:用户想在 Webflow CMS 集合(博客文章、产品、团队成员等)中创建、更新、列出或删除项目

工具调用顺序:

  1. WEBFLOW_LIST_WEBFLOW_SITES - 列出网站,以查找目标 site_id [先决条件]
  2. WEBFLOW_LIST_COLLECTIONS - 列出该网站的所有集合 [先决条件]
  3. WEBFLOW_GET_COLLECTION - 获取集合架构,以查找有效的字段 slug [创建/更新的先决条件]
  4. WEBFLOW_LIST_COLLECTION_ITEMS - 使用筛选和分页列出现有项目 [可选]
  5. WEBFLOW_GET_COLLECTION_ITEM - 获取特定项目的完整详情 [可选]
  6. WEBFLOW_CREATE_COLLECTION_ITEM - 使用字段数据创建新项目 [创建时必需]
  7. WEBFLOW_UPDATE_COLLECTION_ITEM - 更新现有项目的字段 [更新时必需]
  8. WEBFLOW_DELETE_COLLECTION_ITEM - 永久删除项目 [可选]
  9. WEBFLOW_PUBLISH_SITE - 发布更改,使其正式上线 [可选]

CREATE_COLLECTION_ITEM 的关键参数:

  • collection_id:来自 LIST_COLLECTIONS 的 24 位十六进制字符串
  • field_data:字段 slug 为键的对象(不是显示名称);必须包含 name 和 slug
  • field_data.name:项目的显示名称
  • field_data.slug:适合用作 URL 的标识符(小写、使用连字符、不含空格)
  • is_draft:是否将项目创建为草稿的布尔值(默认 false)

UPDATE_COLLECTION_ITEM 的关键参数:

  • collection_id:集合标识符
  • item_id:现有项目的 24 位十六进制 MongoDB ObjectId
  • fields:以字段 slug 为键、包含新值的对象
  • live:是否立即发布更改的布尔值(默认 false)

字段值类型:

  • 文本/电子邮件/链接/日期:字符串
  • 数字:整数或浮点数
  • 布尔值:true/false
  • 图片:{"url": "...", "alt": "...", "fileId": "..."}
  • 多重引用:引用 ID 字符串数组
  • 多图:图片对象数组
  • 选项:选项 ID 字符串

注意事项:

  • 字段键必须使用集合架构中的确切字段 slug,而不是显示名称
  • 始终先调用 GET_COLLECTION 获取架构并确认正确的字段 slug
  • CREATE_COLLECTION_ITEM 要求 field_data 中包含 name 和 slug
  • UPDATE_COLLECTION_ITEM 无法创建新项目;必须提供有效的现有 item_id
  • item_id 必须是 24 位十六进制 MongoDB ObjectId
  • slug 必须为小写字母数字字符,并以连字符分隔:^[a-z0-9]+(?:-[a-z0-9]+)*$
  • CMS 项目会先暂存;使用 PUBLISH_SITE 或设置 live: true 将其推送到生产环境
2. 管理站点和发布

适用场景:用户想要列出站点、查看站点配置或发布已暂存的更改

工具调用顺序:

  1. WEBFLOW_LIST_WEBFLOW_SITES - 列出所有可访问的站点[必需]
  2. WEBFLOW_GET_SITE_INFO - 获取详细的站点元数据,包括域名和设置[可选]
  3. WEBFLOW_PUBLISH_SITE - 将所有已暂存的更改部署到线上站点[发布时必需]

PUBLISH_SITE 的关键参数:

  • site_id:来自 LIST_WEBFLOW_SITES 的站点标识符
  • custom_domains:自定义域名 ID 字符串数组(来自 GET_SITE_INFO)
  • publish_to_webflow_subdomain:布尔值,用于发布到 {shortName}.webflow.io
  • 必须指定 custom_domains 或 publish_to_webflow_subdomain 中的至少一项

注意事项:

  • PUBLISH_SITE 会重新发布所选域名的所有已暂存更改——请确认没有待发布的非预期草稿
  • 速率限制:每分钟最多成功发布 1 次
  • 对于没有自定义域名的站点,必须设置 publish_to_webflow_subdomain: true
  • custom_domains 要求的是域名 ID(十六进制字符串),而非域名
  • 发布属于生产环境操作——务必先征得用户确认
3. 管理页面

适用场景:用户想要列出页面、查看页面元数据或检查页面的 DOM 结构

工具调用顺序:

  1. WEBFLOW_LIST_WEBFLOW_SITES - 查找目标 site_id[前置条件]
  2. WEBFLOW_LIST_PAGES - 分页列出站点的所有页面[必需]
  3. WEBFLOW_GET_PAGE - 获取特定页面的详细元数据[可选]
  4. WEBFLOW_GET_PAGE_DOM - 获取静态页面的 DOM/内容节点结构[可选]

关键参数:

  • site_id:站点标识符(列出页面时必需)
  • page_id:24 字符的十六进制页面标识符
  • locale_id:可选的语言区域筛选条件,适用于多语言站点
  • limit:每页的最大结果数(最多 100)
  • offset:分页偏移量

注意事项:

  • LIST_PAGES 通过 offset/limit 分页;站点页面较多时,请遍历所有分页
  • 页面 ID 是 24 字符的十六进制字符串,符合模式 ^[0-9a-fA-F]{24}$
  • GET_PAGE_DOM 返回节点结构,而非渲染后的 HTML
  • 页面既包括静态页面,也包括 CMS 驱动的页面
4. 上传资源

适用场景:用户想要向 Webflow 站点上传图片、文件或其他资源

工具调用顺序:

  1. WEBFLOW_LIST_WEBFLOW_SITES - 查找目标 site_id[前置条件]
  2. WEBFLOW_UPLOAD_ASSET - 使用 Base64 编码的内容上传文件[必需]

关键参数:

  • site_id:站点标识符
  • file_name:文件名(例如,"logo.png")
  • file_content:文件的 Base64 编码二进制内容(不能是占位符或 URL)
  • content_type:MIME 类型(例如,"image/png"、"image/jpeg"、"application/pdf")
  • md5:原始文件字节的 MD5 哈希值(32 字符的十六进制字符串)
  • asset_folder_id:可选的文件夹位置

注意事项:

  • file_content 必须是实际的 Base64 编码数据,不能是变量引用或占位符
  • md5 必须根据原始字节计算,而非 Base64 字符串
  • 内部流程分为两步:先生成 S3 预签名 URL,然后上传
  • 大文件可能导致超时;请控制上传文件的大小
5. 管理电商订单

适用场景:用户想要查看 Webflow 站点中的电商订单

工具调用顺序:

  1. WEBFLOW_LIST_WEBFLOW_SITES - 查找已启用电商功能的站点[前置条件]
  2. WEBFLOW_LIST_ORDERS - 列出所有订单,可按状态筛选[必需]
  3. WEBFLOW_GET_ORDER - 获取特定订单的详细信息[可选]

关键参数:

  • site_id:站点标识符(必须已启用电商功能)
  • order_id:用于获取详细信息的特定订单标识符
  • status:按状态筛选订单

注意事项:

  • Webflow 站点必须启用电商功能,订单端点才能正常工作
  • 订单端点为只读;无法通过这些工具创建、更新或删除订单

常见模式

ID 解析

Webflow 全程使用 24 位十六进制 ID:

  • 站点 ID:WEBFLOW_LIST_WEBFLOW_SITES——按名称查找,并获取 id
  • 集合 ID:使用 site_id 调用 WEBFLOW_LIST_COLLECTIONS
  • 项目 ID:使用 collection_id 调用 WEBFLOW_LIST_COLLECTION_ITEMS
  • 页面 ID:使用 site_id 调用 WEBFLOW_LIST_PAGES
  • 域名 ID:调用 WEBFLOW_GET_SITE_INFO——在 customDomains 数组中查找
  • 字段 slug:调用 WEBFLOW_GET_COLLECTION——在集合的 fields 数组中查找
分页

Webflow 使用基于偏移量的分页:

  • offset:起始索引(从 0 开始)
  • limit:每页项目数(最大为 100)
  • 每次将 offset 增加 limit,直到返回的结果少于 limit
  • 适用于:LIST_COLLECTION_ITEMS、LIST_PAGES
CMS 工作流

典型的 CMS 内容创建流程:

  1. 从 LIST_WEBFLOW_SITES 获取 site_id
  2. 从 LIST_COLLECTIONS 获取 collection_id
  3. 从 GET_COLLECTION 获取字段架构(以了解字段 slug)
  4. 使用正确的字段 slug 创建或更新项目
  5. 发布站点,使更改生效

已知注意事项

ID 格式
  • 所有 Webflow ID 都是 24 位十六进制字符串(MongoDB ObjectId)
  • 示例:580e63fc8c9a982ac9b8b745
  • 格式:^[0-9a-fA-F]{24}$
  • 无效 ID 会返回 404 错误
字段 slug 与显示名称
  • CMS 操作需要字段的 slug 值,而不是显示名称
  • 显示名称为 "Author Name" 的字段,其 slug 可能是 author-name
  • 始终调用 GET_COLLECTION,以查明正确的字段 slug
  • 使用错误的字段名称会导致数据被静默忽略或引发验证错误
发布
  • PUBLISH_SITE 会部署所有已暂存的更改,而不只是特定项目
  • 发布频率受限,每分钟只能发布 1 次
  • 必须至少指定一个域名目标(自定义域名或 Webflow 子域名)
  • 这项操作会影响生产环境;务必先确认操作意图
身份验证范围
  • 不同操作需要不同的 OAuth 范围:sites:read、cms:read、cms:write、pages:read
  • 403 错误通常表示缺少 OAuth 范围
  • 如果操作因授权错误失败,请检查连接权限
破坏性操作
  • DELETE_COLLECTION_ITEM 会永久删除 CMS 项目
  • PUBLISH_SITE 会立即使所有已暂存的更改生效
  • 执行这些操作前,务必先向用户确认

快速参考

任务工具 slug关键参数
列出站点WEBFLOW_LIST_WEBFLOW_SITES(无)
获取站点信息WEBFLOW_GET_SITE_INFOsite_id
发布站点WEBFLOW_PUBLISH_SITEsite_id、custom_domains 或 publish_to_webflow_subdomain
列出集合WEBFLOW_LIST_COLLECTIONSsite_id
获取集合架构WEBFLOW_GET_COLLECTIONcollection_id
列出集合项目WEBFLOW_LIST_COLLECTION_ITEMScollection_id、limit、offset
获取集合项目WEBFLOW_GET_COLLECTION_ITEMcollection_id、item_id
创建集合项目WEBFLOW_CREATE_COLLECTION_ITEMcollection_id、field_data
更新集合项目WEBFLOW_UPDATE_COLLECTION_ITEMcollection_id、item_id、fields
删除集合项目WEBFLOW_DELETE_COLLECTION_ITEMcollection_id、item_id
列出页面WEBFLOW_LIST_PAGESsite_id、limit、offset
获取页面WEBFLOW_GET_PAGEpage_id
获取页面 DOMWEBFLOW_GET_PAGE_DOMpage_id
上传资源WEBFLOW_UPLOAD_ASSETsite_id、file_name、file_content、content_type、md5
列出订单WEBFLOW_LIST_ORDERSsite_id、status
获取订单WEBFLOW_GET_ORDERsite_id、order_id

由 Composio 提供支持

评论

支持 Markdown