Pavé Numérique 2025 Projet phare

MCP WordPress

J'ai testé les limites du package Laravel MCP en développant un MCP WordPress permettant de gérer ses sites WordPress à l'aide de l'IA

Laravel Inertia Laravel MCP REST API WordPress

Problématique

Gérer plusieurs sites WordPress en parallèle pour le SEO implique des dizaines d'opérations répétitives chaque semaine, impossibles à déléguer efficacement sans outil dédié.

Les tâches chronophages :

  • Révision des titres SEO et meta descriptions sur plusieurs centaines d'articles
  • Planification manuelle du calendrier éditorial site par site
  • Recherche et ajout de liens internes sur chaque nouvel article
  • Synchronisation des catégories et tags entre plusieurs sites d'un même réseau
  • Installation ou mise à jour de plugins sur un réseau de sites (PBN)

Le verrou technique :

  • L'API REST WordPress native ne propose aucune abstraction multi-sites
  • Les solutions d'administration multi-sites (ManageWP, MainWP) ne permettent pas d'interagir avec un LLM
  • Aucun protocole standard n'existait pour exposer des opérations WordPress à une IA
  • Chaque site nécessite une authentification distincte et des appels API séparés

L'opportunité MCP : Le Model Context Protocol d'Anthropic venait d'être rendu public. J'ai identifié immédiatement son potentiel pour créer un pont entre mes sites WordPress et n'importe quel LLM compatible, sans dépendre d'un outil propriétaire.

Solution technique

J'ai conçu une application Laravel qui implémente un serveur MCP, exposant des outils WordPress à tout LLM compatible Claude, Cursor ou autre client MCP.

Architecture :

Gestion des sites :

  • Interface d'administration pour ajouter ses sites via l'URL et des Application Passwords WordPress
  • Stockage sécurisé des credentials, isolé par utilisateur
  • Vérification automatique de la connexion à l'ajout

Serveur MCP :

  • Implémenté avec le package laravel/mcp (v0)
  • Chaque outil MCP correspond à une opération WordPress spécifique :
    • list_sites — liste les sites accessibles par l'utilisateur courant
    • get_posts — récupère les articles avec filtres (statut, catégorie, date)
    • update_post — modifie titre, contenu, meta SEO, statut, date de publication
    • schedule_posts — planifie une liste d'articles selon des contraintes temporelles
    • find_related — recherche des articles connexes pour le maillage interne
    • bulk_update — opération en lot sur plusieurs articles ou plusieurs sites

Isolation multi-utilisateurs :

  • Le serveur MCP injecte automatiquement le contexte utilisateur dans chaque outil
  • L'IA ne peut jamais accéder à des sites qui ne lui ont pas été explicitement partagés
  • Les logs tracent chaque appel d'outil avec l'utilisateur, le site et l'opération

Intégration LLM :

  • Compatible avec Claude Desktop, Cursor et tout client supportant le protocole MCP via SSE
  • L'IA dispose d'une vision complète de tous les sites et peut exécuter des workflows complexes en une seule conversation

Le projet

J'ai développé une application Laravel exposant un serveur MCP (Model Context Protocol) qui connecte n'importe quel LLM compatible à l'ensemble de ses sites WordPress — permettant de les gérer par simple conversation.

Contexte

Je gère plusieurs sites WordPress pour mes activités SEO : publication d'articles, optimisation des titres et meta descriptions, planification de calendrier éditorial, gestion du maillage interne. Répliquer ces opérations manuellement sur chaque site est une perte de temps considérable.

Fonctionnalités principales

  • Multi-sites : Connexion illimitée de sites WordPress via Application Passwords (sans plugin tiers)
  • CRUD complet : Créer, lire, modifier et supprimer articles, pages, catégories, tags et utilisateurs
  • Planification intelligente : L'IA peut étaler automatiquement les publications selon des contraintes horaires complexes
  • Maillage interne : Recherche d'articles connexes sur un site pour suggérer des liens internes pertinents
  • Multi-utilisateurs : Chaque utilisateur ne voit et n'édite que ses propres sites
  • Logs d'activité : Traçabilité complète de chaque opération effectuée par l'IA sur chaque site

Exemple concret

Prompt : "Étale les articles en attente sur [Site] à raison de 2 par jour,
entre 08h et 17h, du lundi au vendredi sauf le mercredi après-midi,
sans publier pendant les heures de repas."

L'IA planifie automatiquement toutes les dates de publication sans aucune intervention manuelle.

Résultats

6
outils MCP
Exposés au LLM pour couvrir l'ensemble des opérations WordPress courantes
5
heures
Gagnées par semaine sur la gestion éditoriale multi-sites
100
%
Des planifications éditoriales gérées par l'IA sans intervention manuelle