/ Annuaire / Playground / Webiny MCP
● Officiel webiny 🔑 Nécessite votre clé

Webiny MCP

par webiny · webiny/webiny-js

Interagissez avec votre CMS headless Webiny depuis Claude — générez des modèles de contenu, modifiez des entrées en masse, créez des pages sans cliquer dans l'interface d'administration.

Webiny est un CMS headless serverless sur AWS, et son serveur MCP expose l'API GraphQL admin comme outils agents. Au lieu d'apprendre à Claude à écrire du GraphQL Webiny à la main, vous obtenez des outils typés pour les modèles de contenu, les entrées, les pages du Page Builder, le gestionnaire de fichiers et les workflows de publication APW — tous alimentés par vos propres tokens d'auth.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

webiny-mcp.replay ▶ prêt
0/0

Installer

Choisissez votre client

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

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.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 utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "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}"
      ]
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.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 utilise un tableau d'objets serveur plutôt qu'une 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}"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : Webiny MCP

Créer un modèle de contenu à partir d'une description

👤 Développeurs Webiny / ingénieurs contenu ⏱ ~25 min intermediate

Quand l'utiliser : Le PM dit « on a besoin d'une section Études de cas avec ces champs ». Vous voulez que Claude traduise ça en modèle Webiny.

Prérequis
  • Projet Webiny en cours d'exécutionnpx create-webiny-project déployé sur AWS
  • Token d'accès personnel — Créez-en un dans Admin → Paramètres → Tokens d'accès personnel
Déroulement
  1. Connecter le MCP
    Ajoute le MCP Webiny en utilisant l'URL de l'API manage pour l'environnement dev. Vérifie qu'il peut lister les modèles existants.✓ Copié
    → list_models retourne au moins les modèles intégrés
  2. Créer le modèle
    Crée un modèle de contenu CaseStudy avec les champs : titre (text, requis), client (text), résumé (rich text), heroImage (ref fichier), publishedAt (datetime), tags (text, multi). Singulier Case Study, pluriel Case Studies.✓ Copié
    → create_content_model appelé une fois ; les IDs de champs utilisent le camelCase de façon cohérente
  3. Seed d'entrées exemples
    Ajoutez maintenant 3 entrées placeholder pour que l'équipe éditoriale ait quelque chose à regarder.✓ Copié
    → 3 entrées créées via create_entry avec un contenu placeholder réaliste

Résultat : Un modèle fonctionnel + des données d'exemple, prêts pour l'équipe éditoriale en quelques minutes au lieu de cliquer dans l'interface admin.

Pièges
  • Les IDs de champs contiennent accidentellement des espaces — Webiny les rejette ; le MCP normalise mais prévisualisez toujours avant de valider
  • Mauvaise locale dans l'URL — L'URL porte /en-US/ — correspondez à votre locale par défaut
Combiner avec : filesystem

Mettre à jour des entrées en masse pour corriger une faute sur 200 études de cas

👤 Ops contenu ⏱ ~30 min intermediate

Quand l'utiliser : Le service juridique a signalé un mauvais nom d'entreprise dans d'anciennes entrées ; vous ne voulez pas cliquer 200 fois.

Déroulement
  1. Rechercher les entrées affectées
    Webiny : recherche les entrées CaseStudy contenant 'Acme Corp' dans le résumé. Liste les IDs.✓ Copié
    → search_entries retourne tous les IDs correspondants
  2. Dry-run du remplacement
    Pour chacune, propose le nouveau résumé remplaçant 'Acme Corp' par 'Acme Inc.'. Montre-moi 3 exemples d'abord.✓ Copié
    → 3 diffs affichés avant toute écriture
  3. Appliquer
    C'est correct. Applique la modification à toutes les entrées correspondantes et republie.✓ Copié
    → update_entry + publish_entry appelés pour chacune, avec compteur de progression

Résultat : Des centaines d'entrées corrigées et republiées en une seule conversation, avec trace d'audit.

Pièges
  • La publication automatique saute la relecture — Utilisez le workflow brouillon + APW — ne publiez pas automatiquement des modifications en masse en prod

Générer une landing page Page Builder à partir d'un brief

👤 Développeurs marketing ⏱ ~20 min intermediate

Quand l'utiliser : Vous avez du copy et souhaitez le brancher dans le Page Builder de Webiny sans glisser-déposer des blocs.

Prérequis
  • Templates de blocs existants — Avoir au moins les blocs Hero, Features, CTA définis
Déroulement
  1. Composer la page
    Crée une page Page Builder intitulée 'Lancement Q2' avec les blocs Hero + 3 Features + CTA. Remplis le contenu depuis /briefs/q2.md.✓ Copié
    → create_page retourne une URL de brouillon
  2. Prévisualiser et publier
    Ouvre l'URL de brouillon. Une fois approuvé, publie-le.✓ Copié
    → publish_page réussit ; la page est en ligne

Résultat : Landing page marketing assemblée et mise en ligne en ~10 min.

Pièges
  • Dérive du schema de blocs — Lancez toujours list_block_templates d'abord pour confirmer les variantes disponibles
Combiner avec : filesystem

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

webiny-mcp + filesystem

Lire un brief depuis un Markdown local, l'injecter dans Webiny comme copy de page

Lis /briefs/q2.md, puis crée une page Webiny avec les blocs Hero + Features + CTA en utilisant le contenu du brief.✓ Copié
webiny-mcp + github

Ouvrir une PR avec des changements de modèle après que Claude les a conçus

Webiny : crée le modèle CaseStudy. GitHub : ouvre une PR ajoutant le modèle à la config de seed.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
list_content_models (aucun) Découverte 1 appel GraphQL
create_content_model name, fields[] Création d'une nouvelle section 1 appel
search_entries model, query, filter? Trouver les éléments affectés 1 appel
create_entry model, data Écriture d'un seul élément 1 appel
update_entry id, data Modifier l'existant 1 appel
publish_entry id Promouvoir le brouillon en version live 1 appel
list_block_templates (aucun) Avant de composer des pages 1 appel
create_page title, blocks[] Création de page dans le Page Builder 1 appel

Coût et limites

Coût d'exécution

Quota d'API
Lié aux limites de votre compte AWS (concurrence Lambda, débit DynamoDB)
Tokens par appel
200–3000 selon la taille des entrées
Monétaire
Webiny est OSS gratuit ; votre facture AWS s'applique
Astuce
Les opérations en masse se déploient en éventail — définissez des plafonds de concurrence Lambda si vous ne voulez pas faire exploser les coûts

Sécurité

Permissions, secrets, portée

Portées minimales : personal-access-token avec lecture/écriture de contenu
Stockage des identifiants : Token dans une variable d'env ; à renouveler via l'interface admin
Sortie de données : Uniquement votre endpoint AWS CloudFront/API Gateway
Ne jamais accorder : delete-environment tenant-admin

Dépannage

Erreurs courantes et correctifs

401 Unauthorized

Token expiré ou mauvais environnement. Générez un nouveau PAT dans l'admin

Vérifier : curl -H 'Authorization: Bearer $TOKEN' $URL
Validation de champ échouée

Les types de champs doivent correspondre exactement — text vs rich-text vs long-text. Utilisez list_content_models pour inspecter le schema

Timeout Lambda lors d'une opération en masse

Traitez par lots de 50 ; le MCP ne pagine pas automatiquement les écritures

Alternatives

Webiny MCP vs autres

AlternativeQuand l'utiliserCompromis
Strapi MCPVous êtes sur Strapi, pas WebinyCMS différent ; stratégie de déploiement différente (conteneurs vs serverless)
Contentful MCPCMS SaaS plutôt que self-hostedVendor lock-in ; pas OSS

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills