名称: webflow-automation 描述: 通过Rube MCP (Composio) 自动化Webflow CMS集合、站点发布、页面管理、资产上传和电商订单。始终首先搜索工具以获取当前模式。 要求: mcp: [rube] 类别: development-code
通过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密钥 — 只需添加端点即可工作。
- 通过确认
RUBE_SEARCH_TOOLS响应来验证Rube MCP可用 - 使用工具包
webflow调用RUBE_MANAGE_CONNECTIONS - 如果连接不是活跃的,请按照返回的认证链接完成Webflow OAuth
- 在运行任何工作流之前确认连接状态显示为活跃
核心工作流
1. 管理CMS集合项
何时使用: 用户想要在Webflow CMS集合中创建、更新、列出或删除项(如博客文章、产品、团队成员等)
工具序列:
WEBFLOW_LIST_WEBFLOW_SITES- 列出站点以找到目标site_id [先决条件]WEBFLOW_LIST_COLLECTIONS- 列出站点的所有集合 [先决条件]WEBFLOW_GET_COLLECTION- 获取集合模式以找到有效的字段slug [创建/更新的先决条件]WEBFLOW_LIST_COLLECTION_ITEMS- 列出现有项,支持筛选和分页 [可选]WEBFLOW_GET_COLLECTION_ITEM- 获取特定项的完整详细信息 [可选]WEBFLOW_CREATE_COLLECTION_ITEM- 使用字段数据创建新项 [创建所需]WEBFLOW_UPDATE_COLLECTION_ITEM- 更新现有项的字段 [更新所需]WEBFLOW_DELETE_COLLECTION_ITEM- 永久删除项 [可选]WEBFLOW_PUBLISH_SITE- 发布更改以使其生效 [可选]
CREATE_COLLECTION_ITEM的关键参数:
collection_id: 来自LIST_COLLECTIONS的24字符十六进制字符串field_data: 以字段slug为键的对象(非显示名称);必须包括name和slugfield_data.name: 项的显示名称field_data.slug: URL友好的标识符(小写、连字符、无空格)is_draft: 布尔值,以草稿形式创建(默认false)
UPDATE_COLLECTION_ITEM的关键参数:
collection_id: 集合标识符item_id: 现有项的24字符十六进制MongoDB ObjectIdfields: 以字段slug为键和新值的对象live: 布尔值,立即发布更改(默认false)
字段值类型:
- 文本/邮箱/链接/日期: 字符串
- 数字: 整数或浮点数
- 布尔: true/false
- 图片:
{"url": "...", "alt": "...", "fileId": "..."} - 多引用: 引用ID字符串的数组
- 多图片: 图片对象的数组
- 选项: 选项ID字符串
常见问题:
- 字段键必须使用集合模式中的确切字段
slug,而非显示名称 - 始终首先调用
GET_COLLECTION以检索模式并识别正确的字段slug CREATE_COLLECTION_ITEM需要在field_data中包含name和slugUPDATE_COLLECTION_ITEM无法创建新项;它需要有效的现有item_iditem_id必须是24字符十六进制MongoDB ObjectId- Slug必须是小写字母数字加连字符:
^[a-z0-9]+(?:-[a-z0-9]+)*$ - CMS项是暂存的;使用
PUBLISH_SITE或设置live: true以推送到生产环境
2. 管理站点和发布
何时使用: 用户想要列出站点、检查站点配置或发布暂存的更改
工具序列:
WEBFLOW_LIST_WEBFLOW_SITES- 列出所有可访问的站点 [必需]WEBFLOW_GET_SITE_INFO- 获取详细的站点元数据,包括域和设置 [可选]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结构
工具序列:
WEBFLOW_LIST_WEBFLOW_SITES- 找到目标site_id [先决条件]WEBFLOW_LIST_PAGES- 列出站点的所有页面,支持分页 [必需]WEBFLOW_GET_PAGE- 获取特定页面的详细元数据 [可选]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站点
工具序列:
WEBFLOW_LIST_WEBFLOW_SITES- 找到目标site_id [先决条件]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站点的电商订单
工具序列:
WEBFLOW_LIST_WEBFLOW_SITES- 找到启用电商的站点 [先决条件]WEBFLOW_LIST_ORDERS- 列出所有订单,支持状态筛选 [必需]WEBFLOW_GET_ORDER- 获取特定订单的详细信息 [可选]
关键参数:
site_id: 站点标识符(必须启用电商)order_id: 特定订单标识符用于详细检索status: 按状态筛选订单
常见问题:
- Webflow站点必须启用电商,订单端点才能工作
- 订单端点是只读的;无法通过这些工具创建/更新/删除订单
常见模式
ID解析
Webflow使用24字符十六进制ID:
- 站点ID:
WEBFLOW_LIST_WEBFLOW_SITES— 按名称查找,捕获id - 集合ID:
WEBFLOW_LIST_COLLECTIONS带site_id - 项ID:
WEBFLOW_LIST_COLLECTION_ITEMS带collection_id - 页面ID:
WEBFLOW_LIST_PAGES带site_id - 域IDs:
WEBFLOW_GET_SITE_INFO— 在customDomains数组中找到 - 字段slug:
WEBFLOW_GET_COLLECTION— 在集合fields数组中找到
分页
Webflow使用基于偏移的分页:
offset: 起始索引(基于0)limit: 每页项数(最大100)- 增加偏移量直到返回的结果少于限制
- 可用于:LIST_COLLECTION_ITEMS, LIST_PAGES
CMS工作流
典型的CMS内容创建流程:
- 从LIST_WEBFLOW_SITES获取site_id
- 从LIST_COLLECTIONS获取collection_id
- 从GET_COLLECTION获取字段模式(了解字段slug)
- 使用正确的字段slug创建/更新项
- 发布站点以使更改生效
已知问题
ID格式
- 所有Webflow ID都是24字符十六进制字符串(MongoDB ObjectIds)
- 示例:
580e63fc8c9a982ac9b8b745 - 模式:
^[0-9a-fA-F]{24}$ - 无效ID返回404错误
字段Slug与显示名称
- CMS操作需要字段
slug值,而非显示名称 - 显示名称为“作者姓名”的字段可能有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_INFO |
site_id |
| 发布站点 | WEBFLOW_PUBLISH_SITE |
site_id、custom_domains 或 publish_to_webflow_subdomain |
| 列出集合 | WEBFLOW_LIST_COLLECTIONS |
site_id |
| 获取集合模式 | WEBFLOW_GET_COLLECTION |
collection_id |
| 列出集合项 | WEBFLOW_LIST_COLLECTION_ITEMS |
collection_id、limit、offset |
| 获取集合项 | WEBFLOW_GET_COLLECTION_ITEM |
collection_id、item_id |
| 创建集合项 | WEBFLOW_CREATE_COLLECTION_ITEM |
collection_id、field_data |
| 更新集合项 | WEBFLOW_UPDATE_COLLECTION_ITEM |
collection_id、item_id、fields |
| 删除集合项 | WEBFLOW_DELETE_COLLECTION_ITEM |
collection_id、item_id |
| 列出页面 | WEBFLOW_LIST_PAGES |
site_id、limit、offset |
| 获取页面 | WEBFLOW_GET_PAGE |
page_id |
| 获取页面DOM | WEBFLOW_GET_PAGE_DOM |
page_id |
| 上传资产 | WEBFLOW_UPLOAD_ASSET |
site_id、file_name、file_content、content_type、md5 |
| 列出订单 | WEBFLOW_LIST_ORDERS |
site_id、status |
| 获取订单 | WEBFLOW_GET_ORDER |
site_id、order_id |
由 Composio 提供支持