/ 目录 / 演练场 / Webiny MCP
● 官方 webiny 🔑 需要你的密钥

Webiny MCP

作者 webiny · webiny/webiny-js

用 Claude 直接操作你的 Webiny Headless CMS——生成内容模型、批量编辑条目、创建页面,无需点击管理后台。

Webiny 是运行在 AWS 上的 Serverless Headless CMS,其 MCP 服务将 GraphQL 管理 API 封装为 agent 工具。无需让 Claude 手写 Webiny GraphQL,你可以直接使用内容模型、条目、Page Builder 页面、文件管理器和 APW 发布工作流的类型化工具——所有操作均基于你自己的 auth token。

为什么要用

核心特性

实时演示

实际使用效果

webiny-mcp.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "webiny-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "webiny-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@webiny/mcp-server",
        "--api-url",
        "https://your-project.cloudfront.net/cms/manage/en-US",
        "--token",
        "${WEBINY_TOKEN}"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "webiny-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@webiny/mcp-server",
          "--api-url",
          "https://your-project.cloudfront.net/cms/manage/en-US",
          "--token",
          "${WEBINY_TOKEN}"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add webiny-mcp -- npx -y @webiny/mcp-server --api-url https://your-project.cloudfront.net/cms/manage/en-US --token ${WEBINY_TOKEN}

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Webiny MCP

根据描述一键搭建内容模型

👤 Webiny 开发者/内容工程师 ⏱ ~25 min intermediate

何时使用: PM 说「我们需要一个带这些字段的案例研究专区」,你想让 Claude 将需求转化为 Webiny 模型。

前置条件
  • Webiny 项目已运行 — 通过 npx create-webiny-project 部署到 AWS
  • 个人访问 token — 在管理后台→设置→个人访问 token 中创建
步骤
  1. 连接 MCP
    使用 dev 环境的 manage API URL 添加 Webiny MCP。验证能否列出现有模型。✓ 已复制
    → list_models 至少返回内置模型
  2. 搭建模型
    创建 CaseStudy 内容模型,字段:title(文本,必填)、client(文本)、summary(富文本)、heroImage(文件引用)、publishedAt(日期时间)、tags(文本,多值)。单数名称「Case Study」,复数「Case Studies」。✓ 已复制
    → create_content_model 调用一次;字段 ID 统一使用 camelCase
  3. 填充示例条目
    现在添加 3 条占位条目,让编辑团队有内容可以查看。✓ 已复制
    → 通过 create_entry 创建了 3 条包含真实感占位内容的条目

结果: 几分钟内完成可用模型和示例数据,不需要在管理后台反复点击。

注意事项
  • 字段 ID 中意外包含空格 — Webiny 会拒绝;MCP 会自动规范化,但提交前最好预览一下
  • URL 中的 locale 写错 — URL 携带 /en-US/——需与你的默认 locale 匹配
搭配使用: filesystem

批量修改 200 篇案例研究中的错误名称

👤 内容运营 ⏱ ~30 min intermediate

何时使用: 法务发现旧条目中公司名称有误,你不想一条一条点击修改。

步骤
  1. 搜索受影响条目
    Webiny:搜索 summary 中包含「Acme Corp」的 CaseStudy 条目,列出 ID。✓ 已复制
    → search_entries 返回所有匹配 ID
  2. 预演替换
    对每条,提议将 summary 中的「Acme Corp」替换为「Acme Inc.」,先展示 3 条示例。✓ 已复制
    → 写入任何内容前,先展示 3 条 diff
  3. 执行
    看起来没问题。对所有匹配条目应用更改并重新发布。✓ 已复制
    → 每条调用 update_entry + publish_entry,并显示进度计数

结果: 数百条条目在单次对话中完成修复和重新发布,并留有审计记录。

注意事项
  • 自动发布跳过审核 — 使用草稿 + APW 工作流——不要对生产批量编辑自动发布

根据简报生成 Page Builder 落地页

👤 营销开发者 ⏱ ~20 min intermediate

何时使用: 你有文案,想把它接入 Webiny Page Builder,但不想拖拽区块。

前置条件
  • 现有区块模板 — 至少定义好 Hero、Features、CTA 区块
步骤
  1. 组合页面
    创建标题为「Q2 Launch」的 Page Builder 页面,使用 Hero + 3 个 Features + CTA 区块,内容来自 /briefs/q2.md。✓ 已复制
    → create_page 返回草稿 URL
  2. 预览并发布
    打开草稿 URL,确认无误后发布。✓ 已复制
    → publish_page 成功;页面上线

结果: 约 10 分钟内组建并上线营销落地页。

注意事项
  • 区块 schema 版本漂移 — 始终先运行 list_block_templates 确认可用变体
搭配使用: filesystem

组合

与其他 MCP 搭配,撬动十倍杠杆

webiny-mcp + filesystem

从本地 Markdown 读取简报,推送到 Webiny 作为页面文案

读取 /briefs/q2.md,然后用其中内容创建含 Hero + Features + CTA 的 Webiny 页面。✓ 已复制
webiny-mcp + github

Claude 设计好模型后,提交包含模型变更的 PR

Webiny:创建 CaseStudy 模型。GitHub:提 PR,将模型添加到种子配置中。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
list_content_models (无) 探索阶段 1 次 GraphQL 调用
create_content_model name, fields[] 搭建新板块时 1 次调用
search_entries model, query, filter? 查找受影响条目 1 次调用
create_entry model, data 单条写入 1 次调用
update_entry id, data 编辑已有条目 1 次调用
publish_entry id 将草稿发布上线 1 次调用
list_block_templates (无) 组合页面之前 1 次调用
create_page title, blocks[] Page Builder 创作时 1 次调用

成本与限制

运行它的成本

API 配额
受限于你的 AWS 账户限制(Lambda 并发、DynamoDB 吞吐量)
每次调用 Token 数
200–3000,取决于条目大小
费用
Webiny 开源免费;AWS 账单照常收取
提示
批量操作会扇出——如果不想费用激增,请设置 Lambda 并发上限

安全

权限、密钥、影响范围

最小权限: 具有内容读写权限的个人访问 token
凭据存储: token 存于环境变量;通过管理后台轮换
数据出站: 仅限你的 AWS CloudFront/API Gateway 端点
切勿授予: delete-environment tenant-admin

故障排查

常见错误与修复

401 Unauthorized

token 已过期或环境选错。在管理后台生成新 PAT

验证: curl -H 'Authorization: Bearer $TOKEN' $URL
字段校验失败

字段类型必须精确匹配——text、rich-text、long-text 各有区别。用 list_content_models 查看 schema

批量操作时 Lambda 超时

每批限 50 条;MCP 不会自动分页写入

替代方案

Webiny MCP 对比其他方案

替代方案何时用它替代权衡
Strapi MCP你使用的是 Strapi 而非 Webiny不同 CMS;部署方式不同(容器 vs Serverless)
Contentful MCP想用 SaaS CMS 而非自托管供应商绑定;非开源

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills