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 courantget_posts— récupère les articles avec filtres (statut, catégorie, date)update_post— modifie titre, contenu, meta SEO, statut, date de publicationschedule_posts— planifie une liste d'articles selon des contraintes temporellesfind_related— recherche des articles connexes pour le maillage internebulk_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.