/ 目錄 / 演練場 / Webiny MCP
● 官方 webiny 🔑 需要你的金鑰

Webiny MCP

作者 webiny · webiny/webiny-js

從 Claude 直接操作你的 Webiny 無頭 CMS — 產生內容模型、批次編輯項目、建立頁面,無需點擊管理介面。

Webiny 是架在 AWS 上的無伺服器無頭 CMS,其 MCP 伺服器將 GraphQL 管理 API 暴露為代理工具。你不需要教 Claude 手寫 Webiny GraphQL,而是直接取得類型化的工具,涵蓋內容模型、項目、Page Builder 頁面、檔案管理員與 APW 發佈工作流程 — 全部由你自己的驗證 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 說「我們需要一個有這些欄位的 Case Studies 區塊」。你想讓 Claude 將其轉換成 Webiny 模型。

前置條件
  • Webiny 專案執行中npx create-webiny-project 部署到 AWS
  • 個人存取 token — 在 Admin → Settings → Personal Access Tokens 中建立
步驟
  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 個 case study 以修正錯字

👤 內容運營人員 ⏱ ~30 min intermediate

何時使用: 法務部門發現舊項目中有錯誤的公司名稱;你不想點擊 200 次。

步驟
  1. 搜尋受影響的項目
    Webiny:搜尋 summary 中包含「Acme Corp」的 CaseStudy 項目。列出 ID。✓ 已複製
    → search_entries 回傳所有符合的 ID
  2. 試跑替換
    針對每個項目,提議將 summary 中的「Acme Corp」替換為「Acme Inc.」的新版本。先給我看 3 個範例。✓ 已複製
    → 在任何寫入之前顯示 3 個差異
  3. 套用
    看起來沒問題。將變更套用到所有符合的項目並重新發佈。✓ 已複製
    → 對每個項目呼叫 update_entry + publish_entry,並顯示進度計數

結果: 在單次對話中修復並重新發佈數百個項目,並留有稽核記錄。

注意事項
  • 自動發佈跳過了審核 — 使用草稿 + APW 工作流程 — 不要對正式環境的批次編輯自動發佈

從簡報生成 Page Builder 登陸頁面

👤 行銷開發人員 ⏱ ~20 min intermediate

何時使用: 你有文案內容,想將其接入 Webiny 的 Page Builder,不想拖拉方塊。

前置條件
  • 現有的方塊模板 — 至少已定義 Hero、Features、CTA 方塊
步驟
  1. 組合頁面
    建立一個 Page Builder 頁面,標題為「Q2 Launch」,使用 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 (none) 探索用 1 GraphQL call
create_content_model name, fields[] 建立新區塊 1 call
search_entries model, query, filter? 尋找受影響的項目 1 call
create_entry model, data 單次寫入 1 call
update_entry id, data 編輯現有項目 1 call
publish_entry id 將草稿發佈上線 1 call
list_block_templates (none) 組合頁面之前 1 call
create_page title, blocks[] Page Builder 編輯 1 call

成本與限制

運行它的成本

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 無伺服器)
Contentful MCP使用 SaaS CMS 而非自託管廠商鎖定;非開源

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills