Home
Login

Un plugin qui transforme un site WordPress en un serveur de protocole de contexte de modèle (MCP), permettant aux agents d'IA et aux grands modèles de langage d'interagir avec les fonctionnalités de WordPress via une API REST.

PHP 213Automatticwordpress-mcp Last Updated: 2025-06-24

Présentation détaillée du projet WordPress MCP

Aperçu du projet

WordPress MCP (Model Context Protocol) est un plugin WordPress développé par Automattic, conçu pour transformer un site WordPress en un simple serveur MCP. Il expose les fonctionnalités du site via l'API REST de WordPress, permettant ainsi aux grands modèles de langage (LLM) et aux agents d'IA d'interagir avec lui. Ce projet permet aux développeurs d'utiliser des outils d'IA pour automatiser des tâches telles que la gestion de contenu, les opérations utilisateur et la configuration du site, améliorant ainsi l'efficacité du développement et les capacités d'intégration.

Fonctionnalités principales

  1. Prise en charge du serveur MCP :

    • Fournit des fonctionnalités de serveur MCP via des routes API REST (telles que /wp/v2/wpmcp et /wp/v2/wpmcp/streamable), permettant l'interaction entre les agents d'IA et WordPress.
    • Prend en charge deux couches de transport : McpStdioTransport (entrée/sortie standard) et McpStreamableTransport (transmission en flux, adaptée à SSE ou à d'autres protocoles de flux).
  2. Mécanisme d'authentification :

    • Utilise un système d'authentification JWT (JSON Web Token) pour assurer une communication sécurisée.
    • Prend en charge les mots de passe d'application WordPress (Application Passwords) ainsi que les clés de consommateur et les clés secrètes de l'API REST WooCommerce, renforçant ainsi la sécurité.
  3. Gestionnaires de méthodes :

    • Fournit des gestionnaires de méthodes tels que les outils (Tools), les ressources (Resources) et les invites (Prompts) pour prendre en charge la gestion de contenu, l'initialisation du site, etc.
    • Les fonctionnalités peuvent être étendues via des outils personnalisés pour répondre à des besoins spécifiques.
  4. Interface d'administration :

    • Fournit une interface d'administration basée sur React, permettant aux utilisateurs de gérer facilement les jetons d'authentification (Tokens) et d'autres configurations dans le tableau de bord WordPress.
  5. Compatibilité avec les clients MCP :

    • Fonctionne de manière transparente avec les clients compatibles MCP (tels que Claude Desktop), prenant en charge les requêtes API REST via un proxy (tel que mcp-wordpress-remote) sans nécessiter de connexion constamment ouverte.

Caractéristiques du projet

  • Sécurité : Assure la sécurité des données grâce à l'authentification JWT et aux mots de passe d'application. L'utilisation du cryptage HTTPS est recommandée pour la communication.
  • Extensibilité : Permet aux développeurs d'étendre les fonctionnalités du plugin en ajoutant des outils, des ressources et des invites personnalisés.
  • Facilité de développement : Fournit une documentation de test détaillée (tests/README.md) et un guide de contribution, encourageant la participation de la communauté au développement.
  • Léger et efficace : Le mode proxy évite les connexions constamment ouvertes, optimisant ainsi les performances et convenant au développement local et au déploiement à distance.
  • Licence Open Source : Adopte la licence GPL v2 ou supérieure, ouverte aux communautés WordPress et IA.

Architecture technique

L'architecture de base du projet comprend les modules suivants :

  • Couche de transport (Transport Layer) :

    • McpStdioTransport : Gère les requêtes MCP via l'entrée/sortie standard, adaptée au développement local.
    • McpStreamableTransport : Prend en charge la transmission en flux, adaptée aux scénarios d'interaction en temps réel (actuellement, certains clients peuvent ne pas la prendre en charge).
  • Système d'authentification (Authentication) :

    • Utilise l'authentification JWT, nécessitant la définition de WPMCP_JWT_SECRET_KEY dans wp-config.php.
    • Prend en charge les mots de passe d'application WordPress et les clés WooCommerce, améliorant la flexibilité.
  • Gestionnaires de méthodes (Method Handlers) :

    • Outils (Tools) : Permettent la création, la mise à jour, la suppression, etc. de contenu.
    • Ressources (Resources) : Fournissent des interfaces d'accès aux données du site.
    • Invites (Prompts) : Fournissent des conseils contextuels aux agents d'IA.
    • Initialisation du système (System & Initialization) : Gère le démarrage et la configuration du serveur MCP.
  • Interface d'administration (Admin Interface) :

    • Construite avec React, située dans la page "Paramètres > WordPress MCP" du tableau de bord WordPress, pour gérer les jetons d'authentification et les commutateurs de fonctionnalités.

Installation et configuration

Étapes d'installation

  1. Cloner le dépôt :

    cd wp-content/plugins/
    git clone https://github.com/Automattic/wordpress-mcp.git
    cd wordpress-mcp
    
  2. Installer les dépendances :

    composer install --no-dev
    npm install && npm run build
    
  3. Activer le plugin :

    • Activer le plugin WordPress MCP dans la page "Plugins" du tableau de bord WordPress.
  4. Configurer les fonctionnalités MCP :

    • Accéder à "Paramètres > WordPress MCP", activer les fonctionnalités MCP et configurer les jetons d'authentification.
  5. Configurer la clé JWT : Ajouter dans wp-config.php :

    define('WPMCP_JWT_SECRET_KEY', 'your-secret-key');
    define('WPMCP_DEBUG', true); // Activer la journalisation de débogage
    
  6. Installer le client distant (facultatif) :

    • Pour une utilisation avec mcp-wordpress-remote, installer avec la commande suivante :
      npx @modelcontextprotocol/inspector \
      -e WP_API_URL=https://your-site.com/ \
      -e JWT_TOKEN=your-jwt-token-here \
      npx @automattic/mcp-wordpress-remote@latest
      

Notes de configuration

  • Sécurité : Ne jamais soumettre les jetons d'authentification au système de contrôle de version, s'assurer que WPMCP_JWT_SECRET_KEY est stocké en toute sécurité.
  • Débogage : Activer WPMCP_DEBUG pour enregistrer les journaux de débogage, facilitant ainsi le dépannage.
  • Opérations de suppression : La suppression d'outils peut entraîner une perte permanente de données, n'activer que pour les utilisateurs de confiance.
  • Dépendance du client distant : Le plugin WordPress MCP doit être utilisé avec mcp-wordpress-remote pour réaliser toutes ses fonctionnalités.

Cas d'utilisation

Le projet WordPress MCP est adapté aux scénarios suivants :

  1. Gestion automatisée du contenu :

    • Créer, mettre à jour ou supprimer des articles, des pages, des utilisateurs, etc. via des agents d'IA, ce qui permet de gagner du temps de manipulation manuelle.
    • Exemple : Utiliser la commande Claude Desktop "Créer 10 brouillons d'articles intitulés 'Article de test #1–10'" pour générer automatiquement du contenu de test.
  2. Développement et test :

    • Les développeurs peuvent utiliser les outils MCP pour générer rapidement des données de test, accélérant ainsi les tests de fonctionnalités et le développement d'intégration.
    • Exemple : Interroger les journaux de débogage et résumer les problèmes via un agent d'IA, simplifiant ainsi le processus de débogage.
  3. Gestion du site :

    • Gérer à distance la configuration du site, les autorisations des utilisateurs ou les fichiers multimédias, adapté à la collaboration d'équipes distribuées.
    • Prend en charge l'intégration WooCommerce, permettant de gérer les données liées au commerce électronique (telles que les commandes, les produits).
  4. Personnalisation pilotée par l'IA :

    • Les développeurs peuvent ajouter des outils personnalisés pour exposer une logique métier spécifique, répondant ainsi à des besoins personnalisés.
    • Exemple : Créer un outil personnalisé pour mettre à jour en masse les catégories d'articles ou optimiser les métadonnées SEO.

Extension et développement

Ajouter des outils personnalisés

Les développeurs peuvent étendre les fonctionnalités du plugin en suivant les étapes suivantes :

  1. Créer un fichier d'outil :

    • Ajouter une nouvelle classe d'outil dans le répertoire wp-content/plugins/wordpress-mcp/includes/Tools/.
    • Exemple de classe d'outil :
      <?php
      namespace WPMCP\Tools;
      class CustomTool {
          public function execute($params) {
              // Implémenter la logique personnalisée
              return ['success' => true, 'data' => 'Custom tool executed'];
          }
      }
      
  2. Enregistrer l'outil :

    • Enregistrer le nouvel outil lors de l'initialisation du plugin, en s'assurant qu'il est disponible via l'interface MCP.
  3. Se référer aux implémentations existantes :

    • Consulter les exemples de code dans les répertoires includes/Tools/, includes/Resources/ et includes/Prompts/.

Contribuer au code

  • Guide de contribution : Se référer aux Contributing Guidelines dans le dépôt, soumettre des Pull Requests ou signaler des Issues.
  • Documentation de test : Consulter tests/README.md pour comprendre le processus de test et assurer la qualité du code.
  • Exigences de licence : Toutes les contributions doivent respecter la licence GPL v2 ou supérieure.

Ressources associées

Star History Chart