/ Diretório / Playground / Webiny MCP
● Oficial webiny 🔑 Requer sua chave

Webiny MCP

por webiny · webiny/webiny-js

Converse com seu CMS headless Webiny a partir do Claude — gere content models, edite entradas em massa e crie pages sem clicar no admin UI.

O Webiny é um CMS headless serverless na AWS, e seu servidor MCP expõe a API GraphQL de administração como ferramentas de agente. Em vez de ensinar o Claude a escrever GraphQL do Webiny manualmente, você obtém ferramentas tipadas para content models, entradas, pages do Page Builder, gerenciador de arquivos e fluxos de publicação APW — tudo respaldado pelos seus próprios tokens de autenticação.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

webiny-mcp.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/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}"
      ]
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.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 usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

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}"
      ]
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "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}"
      ]
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

~/.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}"
      ]
    }
  ]
}

O Continue usa um array de objetos de servidor em vez de um map.

~/.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}"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

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

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: Webiny MCP

Crie um content model a partir de uma descrição

👤 Desenvolvedores Webiny / engenheiros de conteúdo ⏱ ~25 min intermediate

Quando usar: O PM diz 'precisamos de uma seção Case Studies com esses campos'. Você quer que o Claude traduza isso para um model Webiny.

Pré-requisitos
  • Projeto Webiny rodandonpx create-webiny-project implantado na AWS
  • Personal access token — Crie em Admin → Settings → Personal Access Tokens
Fluxo
  1. Conecte o MCP
    Adicione o Webiny MCP usando a URL da API de gestão para o ambiente dev. Verifique se consegue listar os models existentes.✓ Copiado
    → list_models retorna ao menos os models built-in
  2. Crie o model
    Crie um content model CaseStudy com os campos: title (texto, obrigatório), client (texto), summary (rich text), heroImage (ref de arquivo), publishedAt (datetime), tags (texto, múltiplo). Singular Case Study, plural Case Studies.✓ Copiado
    → create_content_model chamado uma vez; IDs de campos em camelCase de forma consistente
  3. Popule com entradas de exemplo
    Agora adicione 3 entradas de placeholder para que a equipe editorial tenha algo para visualizar.✓ Copiado
    → 3 entradas criadas via create_entry com conteúdo de placeholder realista

Resultado: Um model funcional com dados de exemplo, pronto para a equipe editorial em minutos em vez de cliques no admin UI.

Armadilhas
  • IDs de campos com espaços acidentalmente — O Webiny rejeita; o MCP normaliza, mas sempre pré-visualize antes de confirmar
  • Locale errado na URL — A URL contém /en-US/ — corresponda ao seu locale padrão
Combine com: filesystem

Atualize entradas em massa para corrigir um typo em 200 case studies

👤 Operações de conteúdo ⏱ ~30 min intermediate

Quando usar: O jurídico sinalizou o nome errado da empresa em entradas antigas; você não quer clicar 200 vezes.

Fluxo
  1. Busque as entradas afetadas
    Webiny: busque entradas CaseStudy contendo 'Acme Corp' no summary. Liste os IDs.✓ Copiado
    → search_entries retorna todos os IDs correspondentes
  2. Dry-run da substituição
    Para cada uma, proponha o novo summary substituindo 'Acme Corp' por 'Acme Inc.' Mostre-me 3 exemplos primeiro.✓ Copiado
    → 3 diffs exibidos antes de qualquer escrita
  3. Aplique
    Parece correto. Aplique a mudança em todas as entradas correspondentes e republique.✓ Copiado
    → update_entry + publish_entry chamados para cada uma, com contagem de progresso

Resultado: Centenas de entradas corrigidas e republicadas em uma única conversa, com trilha de auditoria.

Armadilhas
  • Auto-publicar ignora revisão — Use o fluxo de rascunho + APW — não auto-publique edições em massa para prod

Gere uma landing page do Page Builder a partir de um briefing

👤 Devs de marketing ⏱ ~20 min intermediate

Quando usar: Você tem o copy e quer montá-lo no Page Builder do Webiny sem arrastar blocos.

Pré-requisitos
  • Templates de blocos existentes — Tenha ao menos os blocos Hero, Features e CTA definidos
Fluxo
  1. Monte a page
    Crie uma page do Page Builder com o título 'Q2 Launch' usando blocos Hero + 3 Features + CTA. Preencha o conteúdo de /briefs/q2.md.✓ Copiado
    → create_page retorna uma URL de rascunho
  2. Pré-visualize e publique
    Abra a URL do rascunho. Após aprovação, publique.✓ Copiado
    → publish_page bem-sucedido; a page está no ar

Resultado: Landing page de marketing montada e no ar em ~10 min.

Armadilhas
  • Drift no schema do bloco — Sempre execute list_block_templates primeiro para confirmar os variantes disponíveis
Combine com: filesystem

Combinações

Combine com outros MCPs para 10× de alavancagem

webiny-mcp + filesystem

Leia um briefing em Markdown local e envie para o Webiny como conteúdo de page

Leia /briefs/q2.md, depois crie uma Page no Webiny usando Hero + Features + CTA com o conteúdo do briefing.✓ Copiado
webiny-mcp + github

Abra um PR com alterações no model após o Claude projetá-las

Webiny: crie o model CaseStudy. GitHub: abra um PR adicionando o model à configuração de seed.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
list_content_models (none) Descoberta 1 GraphQL call
create_content_model name, fields[] Criação de nova seção 1 call
search_entries model, query, filter? Encontrar itens afetados 1 call
create_entry model, data Escrita de item único 1 call
update_entry id, data Editar existente 1 call
publish_entry id Promover rascunho para publicado 1 call
list_block_templates (none) Antes de compor pages 1 call
create_page title, blocks[] Autoria no Page Builder 1 call

Custo e limites

O que custa rodar

Cota de API
Limitado pelos limites da sua conta AWS (concorrência Lambda, throughput DynamoDB)
Tokens por chamada
200–3000 dependendo do tamanho da entrada
Monetário
Webiny é OSS gratuito; sua fatura AWS se aplica
Dica
Operações em massa geram fan-out — defina limites de concorrência Lambda se não quiser picos de custo

Segurança

Permissões, segredos, alcance

Escopos mínimos: personal-access-token with content read/write
Armazenamento de credenciais: Token em variável de ambiente; rotacione via Admin UI
Saída de dados: Apenas seu endpoint CloudFront/API Gateway na AWS
Nunca conceda: delete-environment tenant-admin

Solução de problemas

Erros comuns e correções

401 Unauthorized

Token expirado ou ambiente errado. Gere um novo PAT no admin

Verificar: curl -H 'Authorization: Bearer $TOKEN' $URL
Field validation failed

Os tipos de campo devem ser exatos — text vs rich-text vs long-text. Use list_content_models para inspecionar o schema

Lambda timeout em operação em massa

Processe em grupos de 50; o MCP não auto-pagina escritas

Alternativas

Webiny MCP vs. outros

AlternativaQuando usarTroca
Strapi MCPVocê usa Strapi, não WebinyCMS diferente; história de deploy diferente (containers vs serverless)
Contentful MCPCMS SaaS em vez de self-hostLock-in de fornecedor; não é OSS

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills