Aller au contenu principal

Référence des outils MCP de WordPress.com

Ce document fournit un inventaire complet des outils MCP disponibles pour les développeurs WordPress.com. Il s’agit d’un document évolutif qui sera mis à jour à mesure que de nouveaux outils seront ajoutés ou que les outils existants seront modifiés.

Pour obtenir les schémas exacts d’entrée et de sortie, appelez l’outil lui-même — chaque façade STRAP expose action: list (catalogue d’opérations) et action: describe (JSON Schema complet par opération). Les schémas évoluent, considérez donc toujours la réponse en direct de describe comme la source de vérité.

Comment les outils MCP de WordPress.com sont organisés

Le serveur MCP de WordPress.com expose deux types d’outils :

  • Outils façade STRAP — Un outil MCP unique qui regroupe une famille d’opérations liées derrière un seul point d’entrée. Les façades utilisent une interface uniforme basée sur les actions (action: list | describe | execute) afin que les agents IA puissent découvrir ce qui est disponible, récupérer les schémas de paramètres et exécuter des opérations via un seul outil. Cela permet de garder le catalogue d’outils réduit et prévisible.
  • Outils autonomes — Des outils à usage unique qui prennent directement des paramètres. Utilisés pour les opérations qui ne s’inscrivent pas dans une famille plus large (par ex. lister les sites de l’utilisateur, générer une URL de paiement).

⚠️ Protocole de sécurité : Toutes les opérations d’écriture, de mise à jour et de suppression nécessitent une confirmation de l’utilisateur. L’agent doit (1) décrire exactement ce qu’il prévoit de faire, (2) demander à l’utilisateur une confirmation explicite, et (3) inclure la confirmation de l’utilisateur sous la forme user_confirmed: true dans params d’exécution. Les opérations d’écriture ne sont jamais exécutées automatiquement. Les suppressions permanentes (termes de taxonomie) nécessitent en outre confirm_permanent_delete: true.

Interface basée sur les actions (façades STRAP)

Chaque outil façade STRAP accepte les trois mêmes entrées de niveau supérieur :

  • action (enum : list / describe / execute) : Ce que l’agent souhaite faire.
  • list — Découvrir les opérations disponibles sur cet outil. Renvoie les noms des opérations, de courtes descriptions et les raisons de désactivation des opérations.
  • describe — Obtenir le JSON Schema complet (paramètres, types, champs obligatoires) pour une opération.
  • execute — Exécuter une opération.
  • operation : Le nom de l’opération sous la forme resource.action (par ex., posts.create, theme.presets).
  • params : Paramètres spécifiques à l’opération. Les opérations d’écriture doivent inclure user_confirmed: true.

La plupart des façades nécessitent également wpcom_site (un ID de site ou une URL). La façade wpcom-mcp-account est l’exception — elle opère sur l’utilisateur authentifié.

Toutes les opérations prennent en charge un paramètre facultatif include_fields pour limiter les champs renvoyés. Utilisez-le pour garder des réponses efficaces en termes de contexte.


Outils de façade STRAP

Création de contenu ( wpcom-mcp-content-authoring )

Créer, lire, mettre à jour et supprimer du contenu sur un site WordPress.com — articles, pages, commentaires, éléments multimédias, catégories, étiquettes, compositions de blocs et recherche de contenu.

💡 Séquence recommandée : Appelez d’abord wpcom-mcp-site-editor-context (theme.active, theme.presets) afin que le contenu utilise les slugs de préréglages alignés sur le thème (par ex. "primary", "large") au lieu de couleurs et tailles codées en dur.

Opérations disponibles

OpérationDescription
posts.listLister les articles avec des filtres optionnels (statut, auteur, recherche, taxonomie, plage de dates, tri, pagination).
posts.getObtenir un article unique par ID ou slug. Se rabat sur la recherche de pages si un slug ne correspond à aucun article.
posts.createCréer un nouvel article — créé comme brouillon par défaut. Écriture.
posts.updateMettre à jour un article existant. Seuls les champs fournis sont modifiés. Si le statut est publish, les modifications sont mises en ligne immédiatement. Écriture.
posts.deleteDéplacer un article vers la corbeille. Restaurable depuis l’administration WordPress dans les 30 jours. Écriture.
pages.listLister les pages avec des filtres optionnels (parent, statut, recherche, tri, pagination).
pages.getObtenir une page unique par ID ou slug.
pages.createCréer une nouvelle page — créée comme brouillon par défaut. Prend en charge les structures hiérarchiques et les modèles de page. Écriture.
pages.updateMettre à jour une page existante. Seuls les champs fournis sont modifiés. Si le statut est publish, les modifications sont publiées immédiatement. Écriture.
pages.deleteDéplacer une page vers la corbeille. Restaurable depuis l’administration WordPress dans les 30 jours. Écriture.
comments.listLister les commentaires avec des filtres optionnels (statut, article, auteur, recherche, plage de dates, pagination).
comments.getObtenir un commentaire unique par ID.
comments.createCréer un commentaire sur un article. Les commentaires des utilisateurs authentifiés remplissent automatiquement les champs auteur. Écriture.
comments.updateMettre à jour un commentaire existant. Si le statut est approved, les modifications sont visibles immédiatement. Écriture.
comments.deleteDéplacer un commentaire vers la corbeille. Écriture.
media.listLister les éléments multimédias avec des filtres optionnels (type MIME, article, auteur, recherche, plage de dates, pagination).
media.getObtenir un élément multimédia unique par ID.
media.createTéléverser un nouvel élément multimédia (image, vidéo, audio, document). Écriture.
media.updateMettre à jour les métadonnées d’un élément multimédia (pas le fichier). Les modifications de alt_text et caption sont répercutées immédiatement partout où l’élément multimédia est utilisé. Écriture.
media.deleteDéplacer un élément multimédia vers la corbeille. Peut casser du contenu qui le référence. Écriture.
categories.listLister les catégories avec des filtres optionnels.
categories.getObtenir une catégorie unique par ID.
categories.createCréer une nouvelle catégorie. Prend en charge les relations hiérarchiques parent-enfant. Écriture.
categories.updateMettre à jour une catégorie existante. Modifier le slug affecte les URL d’archive immédiatement et peut casser des liens. Écriture.
categories.deleteSupprimer définitivement une catégorie — les termes de taxonomie n’ont pas de corbeille. Les articles associés sont déplacés vers « Non classé » ; les catégories enfants deviennent des catégories de premier niveau. Nécessite confirm_permanent_delete: true.
tags.listLister les étiquettes avec des filtres optionnels. La recherche d’étiquettes est insensible à la casse.
tags.getObtenir une étiquette unique par ID.
tags.createCréer une nouvelle étiquette. Écriture.
tags.updateMettre à jour une étiquette existante. Modifier le slug affecte les URL d’archive immédiatement. Écriture.
tags.deleteSupprimer définitivement une étiquette — retirée de tous les articles associés. Nécessite confirm_permanent_delete: true.
patterns.listLister les compositions de blocs disponibles sur le site (thème, cœur, répertoire de compositions).
patterns.getObtenir une composition de blocs unique par nom, y compris son balisage de blocs.
synced-patterns.listLister les compositions synchronisées (réutilisables) du site.
synced-patterns.getObtenir une composition synchronisée unique par ID, y compris son balisage de blocs.
content-searchRecherche en texte libre dans le contenu du site (articles, pages, autres types de publication).

⚠️ Les opérations destructives (posts.delete, pages.delete, comments.delete, media.delete, categories.delete, tags.delete) nécessitent que l’agent récupère et présente l’élément à supprimer (titre, auteur, nombre d’articles affectés) avant de demander confirmation.

💡 Astuce : Lors de la création de pages, utilisez patterns.listpatterns.get pour récupérer des compositions de blocs et composer des pages complètes à partir de plusieurs compositions. Après chaque création ou mise à jour, vérifiez le champ _content_warnings de la réponse — WordPress peut supprimer des blocs ou du HTML lors de l’enregistrement.


Contexte de l’éditeur de site ( wpcom-mcp-site-editor-context )

Interrogez le contexte de design du site — préréglages du thème, styles appliqués et types de blocs enregistrés. Complément en lecture seule de la création de contenu. Utilisez-le avant de créer ou de mettre à jour du contenu afin que le balisage utilise des jetons alignés sur le thème plutôt que des valeurs codées en dur.

Cette façade utilise action: list | describe | get (et non execute, puisqu’elle n’effectue jamais d’écriture).

💡 Séquence recommandée : theme.activetheme.presets → (facultatif) blocks.allowed → puis créez du contenu via wpcom-mcp-content-authoring.

Opérations disponibles

OpérationDescription
theme.activeObtenir le slug de la feuille de style et le nom du thème actif. Utilisez la valeur stylesheet lors de la récupération de theme.presets ou theme.styles.
theme.presetsObtenir les jetons de design du site — palette de couleurs, tailles de police, familles de polices, dégradés, échelle d’espacement. Résout automatiquement la feuille de style à partir du thème actif si elle est omise.
theme.stylesObtenir les styles appliqués du site depuis theme.json — surcharges au niveau des blocs et typographie/couleurs au niveau des éléments. Complète theme.presets : les préréglages indiquent quels jetons existent ; les styles indiquent comment ils sont appliqués.
blocks.allowedLister les types de blocs enregistrés sur le site avec leur nom, titre, description, catégorie et variations de style. Appliquez une variation de style sous la forme is-style-{name}.

💡 Astuce : Référencez les slugs de préréglages dans le balisage des blocs — par exemple, has-primary-color ou has-large-font-size — plutôt que des styles en ligne avec des valeurs hexadécimales ou en pixels brutes, afin que le contenu s’adapte lorsque les jetons de design du site changent.

⚠️ Important : Le fait qu’un bloc soit enregistré ne garantit pas que son balisage survivra inchangé au pipeline d’enregistrement de la REST API. Après chaque création ou mise à jour via wpcom-mcp-content-authoring, vérifiez le champ _content_warnings. Si du balisage a été supprimé, utilisez des alternatives de blocs plus simples ou demandez à l’utilisateur comment procéder.


Compte ( wpcom-mcp-account )

Gérez le compte WordPress.com de l’utilisateur authentifié — profil, notifications, réalisations, domaines, connexions, sécurité et devise. S’applique à l’utilisateur appelant ; aucun paramètre wpcom_site n’est requis.

Opérations disponibles

OpérationDescription
profile.getProfil de base (nom d’utilisateur, e-mail, nom affiché, avatar, langue, fuseau horaire), avec en option les préférences, statistiques, informations de compte, données sociales/d’activité.
profile.updateMettre à jour les champs du profil (nom affiché, biographie, langue, etc.). Écriture.
notifications.getPréférences de notification par e-mail, push, fil d’actualité et autres canaux. Inclut la liste des appareils et le test de livraison.
notifications.updateMettre à jour les paramètres de notification. Écriture.
inbox.getBoîte de réception des notifications de l’utilisateur (messages, alertes, mentions, J’aime, abonnements). Filtrer par type, non lu, plage de dates.
achievements.getBadges obtenus, exploits, progression de la gamification et vitrine de trophées.
domains.listLister les domaines de l’utilisateur authentifié sur tous les sites.
domains.getDétails du domaine : capacités de gestion, configuration DNS, DNSSEC, état SSL, état de maintenance.
domains.dns_recordsEnregistrements DNS (A, AAAA, ALIAS, CAA, CNAME, MX, NS, SRV, TXT) pour un domaine unique.
domains.set_primaryDéfinir un domaine personnalisé comme domaine principal d’un site. Écriture.
connections.getConnexions aux réseaux sociaux et services tiers (lister, obtenir les détails, tester l’état).
security.getÉtat de la sécurité : 2FA, mots de passe d’application, sessions actives, historique de connexion, ancienneté du compte.
currency.previewPrévisualiser l’impact d’un changement de devise du compte (sans validation).
currency.changeChanger la devise du compte. Écriture.

Site ( wpcom-mcp-site )

Gérez un site WordPress.com — paramètres, statistiques, extensions, journal d’activités, thèmes et configuration des modules Jetpack. Nécessite wpcom_site (ID du site ou URL).

Opérations disponibles

OpérationDescription
settings.getParamètres généraux, d’écriture, de lecture, de discussion, de médias, de permaliens et de confidentialité.
settings.updateMettre à jour les paramètres du site. Écriture.
statistics.getTotaux du site — articles publiés, pages, abonnés — plus en option les vues, visiteurs, articles publiés et pages publiées pour une plage de dates. N’inclut PAS les articles les plus consultés, les référents, la géolocalisation ou les ventilations par URL.
plugin.listExtensions installées avec état, version, disponibilité de mise à jour et autorisations.
activity.getEntrées du journal d’activités (articles, commentaires, mises à jour d’extensions, sauvegardes, actions des utilisateurs). Ordre antéchronologique. Par défaut, les 6 derniers mois. Filtrer par activity_group et activity_action.
theme.listThèmes installés sur le site.
theme.setChanger le thème actif. Écriture.
monitor.status / monitor.activate / monitor.deactivateVérifications de disponibilité de Jetpack Monitor. Activer/désactiver sont des écritures.
newsletter.status / newsletter.get_settingsÉtat et paramètres de Jetpack Newsletter.
account-protection.status / account-protection.activate / account-protection.deactivateJetpack Account Protection. Activer/désactiver sont des écritures.
manage-site.status / manage-site.launch / manage-site.set-visibilityCycle de vie du site — état « bientôt disponible », lancement, visibilité. Écritures.

💡 Astuce pour activity.get : combinez activity_group (par ex. ["plugin"]) et activity_action (par ex. ["activated", "deactivated"]) pour affiner vos recherches. Effectuez d’abord un appel sans filtres pour découvrir ce qui est disponible pour un site donné.


Outils autonomes

Lister les sites de l’utilisateur ( wpcom-user-sites )

Liste les sites accessibles de l’utilisateur authentifié sur WordPress.com et les sites auto-hébergés connectés via Jetpack. Utilisez cet outil pour découvrir les ID de sites avant d’appeler les outils limités à un site spécifique. Prend en charge la pagination, la recherche, les filtres de statut et de confidentialité, le tri, ainsi que les métriques de site optionnelles.


Rechercher la disponibilité d’un domaine ( wpcom-domain-purchase )

Recherchez les domaines disponibles et générez des liens de paiement pour l’enregistrement sur WordPress.com. Renvoie les domaines correspondants avec les prix et des URL de paiement préconfigurées.


Mettre à jour les enregistrements DNS ( wpcom-domain-update-dns-records )

Ajoutez ou supprimez des enregistrements DNS (A, AAAA, ALIAS, CAA, CNAME, MX, NS, SRV, TXT) pour un domaine personnalisé que vous gérez.

⚠️ Opération destructrice. Une mauvaise configuration DNS peut perturber les e-mails et les sites web. Récupérez toujours les enregistrements actuels (via wpcom-mcp-accountdomains.dns_records) et décrivez les différences avant de demander confirmation.


Restaurer les enregistrements DNS par défaut ( wpcom-domain-restore-default-dns-records )

Restaure les enregistrements A par défaut de WordPress.com (IP apex) ou le CNAME www par défaut pour un domaine personnalisé. Cette action dépend du réglage « Mettre à jour les enregistrements DNS ».


Mettre à jour les serveurs de noms ( wpcom-domain-update-nameservers )

Définit les serveurs de noms pour un domaine personnalisé. Nécessite que l’appelant gère le site auquel le domaine est connecté. Accepte entre 2 et 13 noms d’hôte de serveurs de noms valides.

⚠️ Changer les serveurs de noms transfère le contrôle DNS hors de WordPress.com. Les e-mails, les sites web et d’autres services peuvent cesser de fonctionner si les nouveaux serveurs de noms ne sont pas configurés pour fournir les mêmes enregistrements.


Configurer un service de messagerie externe ( wpcom-domain-set-mail-service )

Configurer les enregistrements DNS d’un domaine pour un service de messagerie externe : Google Workspace, iCloud Mail, Office 365 ou Zoho Mail.

⚠️ Écrase les enregistrements MX et les enregistrements DNS associés existants du domaine. Le flux de messagerie existant cesse dès que les nouveaux enregistrements sont propagés.


Générer une URL de paiement ( wpcom-checkout-url )

Générer une URL de paiement WordPress.com préconfigurée pour un ou plusieurs produits (nouvel achat) ou pour le renouvellement d’un abonnement. L’URL dirige l’utilisateur vers la page de paiement WordPress.com — le paiement s’effectue dans le navigateur, et non via cet outil.


Lister les plans WordPress.com ( wpcom-plans-list )

Lister les plans WordPress.com avec les tarifs et les fonctionnalités incluses par niveau. Lecture seule ; utile pour présenter les options de plan avant de générer une URL de paiement.


Résumé du protocole de sécurité

Toutes les opérations d’écriture/suppression imposent un flux de confirmation obligatoire. L’agent doit décrire l’action, obtenir l’approbation explicite de l’utilisateur, et transmettre cette approbation sous la forme user_confirmed: true dans le params d’exécution.

ComportementLectureCréationMise à jourSuppression (corbeille)Suppression (permanente)
Confirmation requise
RéversibleN/AN/APartiellement (valeurs précédentes perdues)✅ Sous 30 jours❌ Permanent
Statut par défaut (contenu)N/AdraftAucun changementtrashEntièrement supprimé
Indicateur supplémentaireconfirm_permanent_delete: true

Les suppressions permanentes (termes de taxonomie tels que les catégories et les étiquettes) nécessitent en plus confirm_permanent_delete: true dans params.

Formes acceptées de user_confirmed : le booléen true (recommandé), ou l’une des chaînes "true", "yes", "on", "1". Les phrases d’approbation libres telles que "yes do it" sont rejetées — l’agent doit convertir l’approbation de l’utilisateur en l’une de ces formes acceptées.

Dernière mise à jour : juillet 03, 2026