Wordpress & Woocommerce · 3 min de lecture

MCP Adapter arrive sur WordPress.org : brancher un agent IA sur WordPress proprement

MCP Adapter arrive sur WordPress.org : brancher un agent IA sur WordPress proprement

Depuis le 7 octobre, MCP Adapter, la brique officielle qui relie WordPress au Model Context Protocol, est une extension canonique du répertoire WordPress.org. Jusqu’ici, il fallait la récupérer sur GitHub ou l’embarquer via Composer. Voici ce qu’elle fait, comment la brancher à un client IA et ce qu’il faut verrouiller avant.

À quoi sert MCP Adapter

MCP est un standard ouvert qui permet à un agent IA (un assistant de code, un client de bureau…) d’utiliser les outils, ressources et prompts exposés par un système. Côté WordPress, les fonctionnalités sont décrites par l’Abilities API, arrivée dans le cœur avec WordPress 6.9 : chaque « ability » est une action enregistrée avec son schéma d’entrée et sa vérification de droits.

MCP Adapter fait le pont : il transforme les abilities publiques en outils MCP, gère la négociation du protocole, les permissions et les erreurs. Il ne contient aucune fonction d’IA en lui-même, ni client MCP, ni interface pour l’utilisateur. Sans abilities enregistrées par le cœur ou par une extension, il n’expose presque rien.

Le serveur par défaut répond sur /wp-json/mcp/mcp-adapter-default-server et propose trois outils : découvrir les abilities, obtenir le détail d’une ability, et l’exécuter. Les abilities ne sont pas listées une par une dans tools/list ; elles passent par ces trois outils.

Installer et connecter un client

L’extension demande WordPress 6.9 ou plus et PHP 7.4 ou plus. Elle est testée jusqu’à WordPress 7.1.3.

wp plugin install mcp-adapter --activate
wp mcp-adapter list

Pour un site local, le plus simple est le transport STDIO via WP-CLI. Le README du dépôt GitHub donne cette configuration côté client :

{
  "mcpServers": {
    "wordpress-default": {
      "command": "wp",
      "args": [
        "--path=/path/to/your/wordpress/site",
        "mcp-adapter",
        "serve",
        "--server=mcp-adapter-default-server",
        "--user=admin"
      ]
    }
  }
}

Pour un site distant, le transport HTTP passe par le proxy @automattic/mcp-wordpress-remote lancé avec npx, avec trois variables : WP_API_URL (l’URL du serveur MCP), WP_API_USERNAME et WP_API_PASSWORD, qui doit être un mot de passe d’application WordPress, pas le mot de passe du compte.

Sécurité : ce qui est exposé, et avec quels droits

Le client s’authentifie comme un utilisateur WordPress, et les vérifications de droits de chaque ability s’appliquent à cet utilisateur. Par défaut, le transport HTTP n’exige qu’un utilisateur connecté (is_user_logged_in()) ; on peut remplacer ce contrôle par un callback personnalisé.

L’exposition reste volontaire : seules les abilities marquées publiques sont accessibles. Depuis la 0.6.0, une ability avec meta.public: true est exposée par défaut, sauf si meta.mcp.public la retire pour MCP. Nos recommandations pour un site client :

  • créer un compte dédié à l’agent, avec le rôle minimal nécessaire, plutôt que d’utiliser --user=admin ;
  • un mot de passe d’application par client IA, révocable séparément ;
  • passer en revue les abilities exposées avec l’outil de découverte avant d’ouvrir l’accès ;
  • éviter de brancher un agent en écriture sur une boutique en production sans passer par une préproduction.

Pour les développeurs d’extensions

Une extension qui s’appuie sur MCP peut maintenant déclarer la dépendance dans son en-tête, avec Requires Plugins: mcp-adapter. Embarquer MCP Adapter comme bibliothèque est déprécié au profit de l’extension. Pour un serveur sur mesure, on passe par le hook mcp_adapter_init :

add_action( 'mcp_adapter_init', function( $adapter ) {
    $adapter->create_server(
        'mon-serveur',            // identifiant unique
        'mon-namespace',          // namespace REST
        'mcp',                    // route REST
        'Mon serveur MCP',
        'Outils de mon extension',
        'v1.0.0',
        array( WPMCPTransportHttpTransport::class ),
        WPMCPInfrastructureErrorHandlingErrorLogMcpErrorHandler::class,
        WPMCPInfrastructureObservabilityNullMcpObservabilityHandler::class,
        array( 'mon-extension/mon-ability' ) // abilities exposées comme outils
    );
} );

La version 0.7.0 prend en charge la spécification MCP 2026-07-28 (sans session) et sert les clients plus anciens via le schéma 2025-11-25. Elle introduit des changements incompatibles : les anciennes classes de validation et le filtre mcp_adapter_validation_enabled disparaissent, et les requêtes JSON-RPC en lot sont rejetées. Si vous utilisiez une version GitHub ou Composer, lisez le guide de migration 0.7.0 du dépôt. L’extension reste expérimentale ; l’objectif affiché est une version 1.0 stable.

Ce qu’il faut retenir

  • MCP Adapter 0.7.0 s’installe désormais depuis WordPress.org : wp plugin install mcp-adapter --activate.
  • Il expose les abilities publiques via trois outils sur /wp-json/mcp/mcp-adapter-default-server.
  • L’agent agit avec les droits du compte WordPress utilisé : compte dédié et mot de passe d’application.
  • L’extension reste expérimentale, avec des changements incompatibles en 0.7.0.

Photo d’illustration : Tirza van Dijk tirzavandijk, Wikimedia Commons, CC0.

  1. The MCP Adapter Plugin is Now Available on WordPress.Org – Make WordPress AImake.wordpress.org
  2. MCP Adapter – WordPress.org Plugin Directorywordpress.org
  3. WordPress/mcp-adapter – GitHubgithub.com
Demander un devisÉcrire