/ Directorio / Playground / Webiny MCP
● Oficial webiny 🔑 Requiere tu clave

Webiny MCP

por webiny · webiny/webiny-js

Habla con tu CMS headless Webiny desde Claude — genera modelos de contenido, edita entradas en masa, monta páginas sin hacer clic en la UI de administración.

Webiny es un CMS headless serverless en AWS, y su servidor MCP expone la API de administración GraphQL como herramientas para agentes. En lugar de enseñar a Claude a escribir GraphQL de Webiny a mano, obtienes herramientas tipadas para modelos de contenido, entradas, páginas del Page Builder, gestor de archivos y flujos de publicación APW — todo respaldado por tus propios tokens de autenticación.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

webiny-mcp.replay ▶ listo
0/0

Instalar

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

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.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 el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la 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}"
      ]
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "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}"
      ]
    }
  }
}

Mismo formato que Claude Desktop. Reinicia 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}"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

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

Añádelo a context_servers. Zed recarga en caliente al guardar.

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

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: Webiny MCP

Montar un nuevo modelo de contenido a partir de una descripción

👤 Desarrolladores / ingenieros de contenido de Webiny ⏱ ~25 min intermediate

Cuándo usarlo: El PM dice 'necesitamos una sección de Casos de Estudio con estos campos'. Quieres que Claude lo traduzca a un modelo de Webiny.

Requisitos previos
  • Proyecto Webiny en ejecuciónnpx create-webiny-project desplegado en AWS
  • Token de acceso personal — Créalo en Admin → Settings → Personal Access Tokens
Flujo
  1. Conectar MCP
    Añade Webiny MCP usando la URL de la API de gestión para el entorno dev. Verifica que pueda listar los modelos existentes.✓ Copiado
    → list_models devuelve al menos los modelos integrados
  2. Montar el modelo
    Crea un modelo de contenido CaseStudy con campos: title (text, required), client (text), summary (rich text), heroImage (file ref), publishedAt (datetime), tags (text, multi). Singular Case Study, plural Case Studies.✓ Copiado
    → create_content_model llamado una vez; los IDs de campo usan camelCase consistentemente
  3. Sembrar entradas de ejemplo
    Ahora añade 3 entradas de marcador para que el equipo editorial tenga algo que ver.✓ Copiado
    → 3 entradas creadas via create_entry con contenido de marcador realista

Resultado: Un modelo funcional + datos de muestra, listos para el equipo editorial en minutos en lugar de hacer clic en la UI de administración.

Errores comunes
  • Los IDs de campo usan espacios accidentalmente — Webiny los rechaza; el MCP normaliza pero siempre previsualiza antes de confirmar
  • Locale incorrecto en la URL — La URL lleva /en-US/ — coincide con tu locale predeterminado
Combinar con: filesystem

Actualizar entradas en masa para corregir un error tipográfico en 200 casos de estudio

👤 Operaciones de contenido ⏱ ~30 min intermediate

Cuándo usarlo: Legal marcó el nombre de empresa incorrecto en entradas antiguas; no quieres hacer clic 200 veces.

Flujo
  1. Buscar entradas afectadas
    Webiny: busca entradas CaseStudy que contengan 'Acme Corp' en summary. Lista los IDs.✓ Copiado
    → search_entries devuelve todos los IDs coincidentes
  2. Dry-run del reemplazo
    Para cada una, propón el nuevo summary reemplazando 'Acme Corp' por 'Acme Inc.' Muéstrame 3 ejemplos primero.✓ Copiado
    → 3 diffs mostrados antes de cualquier escritura
  3. Aplicar
    Se ve bien. Aplica el cambio a todas las entradas coincidentes y vuelve a publicar.✓ Copiado
    → update_entry + publish_entry llamados para cada una, con contador de progreso

Resultado: Cientos de entradas corregidas y republicadas en una sola conversación, con rastro de auditoría.

Errores comunes
  • La auto-publicación omite la revisión — Usa el flujo de borrador + APW — no auto-publiques ediciones masivas a producción

Generar una landing page del Page Builder a partir de un brief

👤 Desarrolladores de marketing ⏱ ~20 min intermediate

Cuándo usarlo: Tienes el copy y quieres conectarlo al Page Builder de Webiny sin arrastrar bloques.

Requisitos previos
  • Plantillas de bloques existentes — Ten al menos bloques Hero, Features y CTA definidos
Flujo
  1. Componer la página
    Crea una página del Page Builder titulada 'Lanzamiento Q2' usando bloques Hero + 3 Features + CTA. Rellena el contenido desde /briefs/q2.md.✓ Copiado
    → create_page devuelve una URL de borrador
  2. Previsualizar y publicar
    Abre la URL de borrador. Una vez aprobada, publícala.✓ Copiado
    → publish_page tiene éxito; la página está activa

Resultado: Landing page de marketing montada y activa en ~10 min.

Errores comunes
  • Deriva del schema de bloques — Siempre ejecuta list_block_templates primero para confirmar las variantes disponibles
Combinar con: filesystem

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

webiny-mcp + filesystem

Extraer un brief de Markdown local y enviarlo a Webiny como copy de página

Lee /briefs/q2.md, luego crea una página de Webiny usando Hero + Features + CTA con el contenido del brief.✓ Copiado
webiny-mcp + github

Abrir un PR con cambios al modelo después de que Claude los diseñe

Webiny: crea el modelo CaseStudy. GitHub: abre un PR añadiendo el modelo a la configuración de seed.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
list_content_models (ninguno) Descubrimiento 1 llamada GraphQL
create_content_model name, fields[] Montar nueva sección 1 llamada
search_entries model, query, filter? Encontrar elementos afectados 1 llamada
create_entry model, data Escritura de un solo elemento 1 llamada
update_entry id, data Editar existente 1 llamada
publish_entry id Promover borrador a activo 1 llamada
list_block_templates (ninguno) Antes de componer páginas 1 llamada
create_page title, blocks[] Autoría en el Page Builder 1 llamada

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Limitada por los límites de tu cuenta AWS (concurrencia Lambda, throughput DynamoDB)
Tokens por llamada
200–3000 según el tamaño de la entrada
Monetario
Webiny es OSS gratuito; tu factura AWS aplica
Consejo
Las operaciones masivas se distribuyen en paralelo — configura límites de concurrencia Lambda si no quieres picos de costo

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: token de acceso personal con lectura/escritura de contenido
Almacenamiento de credenciales: Token en variable de entorno; rota via UI de administración
Salida de datos: Solo tu endpoint AWS CloudFront/API Gateway
No conceder nunca: delete-environment tenant-admin

Resolución de problemas

Errores comunes y soluciones

401 Unauthorized

Token caducado o entorno incorrecto. Genera un nuevo PAT en admin

Verificar: curl -H 'Authorization: Bearer $TOKEN' $URL
Validación de campo fallida

Los tipos de campo deben coincidir exactamente — text vs rich-text vs long-text. Usa list_content_models para inspeccionar el schema

Timeout de Lambda en operación masiva

Procesa en grupos de 50; el MCP no pagina escrituras automáticamente

Alternativas

Webiny MCP vs otros

AlternativaCuándo usarlaContrapartida
Strapi MCPUsas Strapi, no WebinyCMS diferente; diferente historia de despliegue (contenedores vs serverless)
Contentful MCPCMS SaaS en lugar de self-hostVendor lock-in; no es OSS

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills