Skip to Content

Agent Pilot

Agent Pilot transforme votre site WordPress en un serveur MCP (Model Context Protocol) distant et sécurisé. Installez-le, connectez Claude — depuis claude.ai sur le web, Claude Desktop ou Claude Code — et votre site devient quelque chose que Claude peut réellement piloter : rechercher des articles et des produits, rédiger et éditer des pages dans le respect de votre identité de marque, mettre à jour des commandes WooCommerce, modérer des commentaires, vider des caches et bien plus encore.

Le plus difficile, en donnant à une IA accès à votre site, c’est de le faire en toute sécurité. Agent Pilot est conçu autour de ce problème. Chaque connexion passe par une poignée de main OAuth 2.1 complète, chaque jeton d’accès est lié à un utilisateur WordPress précis, et chaque outil revérifie les capacités de cet utilisateur avant de s’exécuter. Claude ne peut jamais en faire plus que la personne qui l’a autorisé — et tout ce qu’il fait est consigné dans un journal d’audit que vous pouvez consulter et révoquer à tout moment.

Agent Pilot OAuth consent screen
L’écran de consentement : avant que la moindre connexion ne fonctionne, un administrateur se connecte et approuve exactement ce que l’agent a le droit de faire. L’agent hérite des capacités de cet utilisateur — jamais davantage.

Points forts

  • Conforme aux standards et indépendant du client. Un serveur MCP conforme sur le transport Streamable-HTTP avec OAuth 2.1 complet (code d’autorisation + PKCE + refresh, Dynamic Client Registration). Fonctionne d’emblée avec les connecteurs personnalisés de claude.ai, Claude Desktop et Claude Code.
  • Multi-utilisateur et multi-instance. Connectez plusieurs instances de Claude — y compris en tant qu’utilisateurs WordPress différents. Chaque jeton est lié à l’utilisateur qui l’a approuvé et limité au rôle de cet utilisateur. Le connecteur d’un responsable de boutique ne voit que ce qu’un responsable de boutique peut faire.
  • 25 outils intégrés répartis sur quatre périmètres de permission — lecture, rédaction de contenu, WooCommerce et gestion du site — plus un périmètre optionnel de base de connaissances de Chatbot Pilot et tous les outils qu’apportent les autres plugins Pilot (facturation, e-mails transactionnels, sécurité, SEO, Subscriptions).
  • Contrôle des outils par rôle et par utilisateur. Un écran Tools dédié active ou désactive chaque outil — ou un périmètre entier — pour n’importe quel rôle WordPress ou utilisateur individuel. Les administrateurs obtiennent tout par défaut ; tout autre rôle démarre vide et se voit accorder exactement ce dont il a besoin.
  • Éditions de contenu chirurgicales. wp_replace_in_post effectue des rechercher-remplacer ciblés, pour que Claude puisse corriger une faute de frappe sur une page Divi ou Elementor sans réécrire des milliers de lignes du balisage du constructeur.
  • Défense en profondeur. Un écran de consentement, une double vérification périmètre-vers-capacité, une confirmation par appel pour les actions destructrices, un journal d’audit complet, une limitation de débit, une liste blanche d’IP optionnelle et la rotation des clés en un clic.
  • Chiffré au repos. La clé de signature OAuth est générée à l’activation et stockée chiffrée avec vos salts WordPress (ou conservée dans un fichier en dehors de la base de données, si vous préférez).
  • Aucun verrouillage, aucune télémétrie. Auto-hébergé. Vos données et les identifiants de votre fournisseur d’IA ne touchent jamais nos serveurs.

Comment ça marche

Deux standards ouverts font le gros du travail :

  • OAuth 2.1 répond à « qui a le droit d’entrer, et pour faire quoi ? ». Quand un client Claude atteint votre site pour la première fois, il n’a aucun jeton : il est donc dirigé vers un flux de connexion et de consentement. Un administrateur approuve un ensemble de périmètres, et le client reçoit un jeton d’accès signé et à durée limitée.
  • MCP (Model Context Protocol) répond à « que peut réellement faire l’agent ? ». Une fois authentifié, Claude appelle un unique endpoint qui expose une liste d’outilswp_list_posts, wp_save_post, wc_list_orders, et ainsi de suite. Claude ne voit que les outils que son jeton est autorisé à utiliser.

La découverte, la connexion, le consentement et l’échange de jetons se déroulent tous automatiquement la première fois que vous ajoutez le connecteur. Ensuite, Claude se reconnecte silencieusement à l’aide de son refresh token.

Prérequis

ComposantRecommandé
WordPress5.8 ou plus récent (testé jusqu’à 7.0)
PHP8.0 ou plus récent
WooCommerce7.0+ (optionnel — les outils Woo n’apparaissent que lorsqu’il est actif)
Chatbot Pilotoptionnel — les outils de base de connaissances n’apparaissent que lorsqu’il est actif
HTTPSObligatoire pour claude.ai web ; recommandé partout
Salts WordPressAUTH_KEY / SECURE_AUTH_KEY uniques dans wp-config.php (servent à chiffrer la clé de signature)
Accessibilitéclaude.ai se connecte depuis le cloud Anthropic, donc le site doit être joignable publiquement pour le client web (les clients locaux peuvent utiliser une URL locale)

Installation

  1. Ouvrez Extensions → Ajouter → Téléverser une extension dans l’administration WordPress et téléversez le fichier ZIP d’Agent Pilot.
  2. Activez Agent Pilot. À l’activation, il crée ses tables en base de données, accorde la capacité manage_agent_pilot aux administrateurs et génère automatiquement les clés de signature OAuth.
  3. Ouvrez Agent Pilot → Connectors. Copiez l’URL du MCP endpoint affichée en haut — c’est l’adresse que vous fournissez à Claude.
  4. Ajoutez le connecteur dans votre client Claude (voir ci-dessous) et effectuez la connexion + le consentement, une seule fois.

Connecter Claude

Tout ce dont un client a besoin se trouve sur l’écran Connectors : le MCP endpoint, l’émetteur OAuth et une commande prête à coller pour Claude Code.

Agent Pilot Connectors admin screen
L’écran Connectors — les détails de connexion en haut, puis les connecteurs enregistrés, les jetons d’accès actifs (un par utilisateur/connexion), la rotation des clés et un journal d’audit en direct de l’activité récente.

claude.ai (web) et Claude Desktop

Dans Claude, ouvrez Settings → Connectors → Add custom connector et collez votre MCP endpoint (par exemple https://your-site.com/wp-json/agent-pilot/v1/mcp). Claude ouvre la page de connexion de votre site, vous approuvez l’écran de consentement, et le connecteur est prêt. Le client web se connecte depuis le cloud d’Anthropic, votre site doit donc être joignable en HTTPS public.

Claude Code

claude mcp add --transport http agent-pilot https://your-site.com/wp-json/agent-pilot/v1/mcp

Claude Code lance le flux OAuth dans votre navigateur ; une fois que vous avez approuvé, les outils sont disponibles dans votre session. Lancez /mcp pour les voir, ou demandez simplement à Claude de faire quelque chose — « liste les cinq derniers brouillons », « montre-moi les commandes en traitement de cette semaine ».

Choisir au nom de qui l’agent agit

L’écran de consentement s’exécute en tant qu’utilisateur WordPress connecté, et le jeton qui en résulte hérite des capacités de cet utilisateur. Pour une connexion au périmètre étroitement défini, créez un utilisateur WordPress dédié avec un rôle limité (plus la capacité manage_agent_pilot pour qu’il puisse autoriser) et approuvez le connecteur en étant connecté en tant que cet utilisateur. L’agent pourra alors faire exactement ce que cet utilisateur peut faire — et rien de plus.

Ce que Claude peut faire

Les outils sont regroupés en quatre périmètres. Lors du consentement, vous décidez quels périmètres un connecteur reçoit ; au moment de l’appel, chaque outil vérifie aussi la capacité WordPress de l’utilisateur lié. Les deux contrôles doivent réussir.

Lecture (wp.read)

Inspection du site en lecture seule. Peut être accordée largement sans risque.

OutilCe qu’il fait
wp_get_site_infoNom du site, URLs, versions, thème actif, statut WooCommerce, décompte des contenus
wp_get_site_contextThème, palette de couleurs, typographie, compositions de blocs et un article récent — pour que le contenu généré colle à votre style
wp_list_postsRecherche et liste les articles, pages et tout custom post type
wp_get_postRécupère un article/une page avec son contenu complet et ses métadonnées
wp_list_termsListe les termes de taxonomie (catégories, étiquettes, catégories de produits…)
wc_list_products / wc_get_productRecherche et lit les produits WooCommerce
wc_list_orders / wc_get_orderRecherche et lit les commandes avec leurs lignes
wc_list_customersRecherche les clients avec leur nombre de commandes et leur total dépensé

Écrire du contenu (wp.content.write)

Créez et éditez du contenu. Les actions destructrices exigent un flag confirm explicite.

OutilCe qu’il fait
wp_save_postCrée un nouvel article/page/CPT ou met entièrement à jour un existant
wp_replace_in_postRechercher-remplacer ciblé dans une page — la façon sûre de corriger une faute de frappe ou une ligne sur une page de constructeur (voir ci-dessous)
wp_delete_postMet à la corbeille ou supprime définitivement un article (confirm requis)
wp_upload_mediaImporte une image/un fichier depuis une URL vers la médiathèque
wc_save_productCrée ou met à jour un produit WooCommerce
wc_save_orderMet à jour le statut d’une commande ou ajoute une note de commande
wp_commentsListe et modère les commentaires (approuver, désapprouver, marquer comme spam, corbeille)

Gérer le site (wp.manage)

Opérations administratives. Chaque modification destructrice exige une confirmation.

OutilCe qu’il fait
wp_optionsLit ou met à jour une option WordPress (les mises à jour exigent confirm ; les secrets des plugins sont bloqués)
wp_pluginsListe, active ou désactive des plugins (confirm)
wp_themesListe les thèmes installés ou change le thème actif (confirm)
wp_usersListe, lit, crée, met à jour ou supprime des utilisateurs — avec des garde-fous contre la suppression de vous-même ou du dernier administrateur (confirm)
wp_maintenanceVide le cache d’objets, recharge les règles de réécriture, purge les transients

Base de connaissances (wp.kb)

Disponible uniquement lorsque Chatbot Pilot est actif.

OutilCe qu’il fait
kb_searchRecherche sémantique (embeddings) dans votre base de connaissances Chatbot Pilot
kb_statsStatistiques d’indexation : fichiers analysés/indexés, fragments, dernière exécution
kb_reindexDéclenche une réindexation en arrière-plan (nécessite la capacité de gestion)

Outils d’autres plugins

Agent Pilot est extensible : n’importe quel plugin peut enregistrer ses propres périmètres et outils MCP, qui traversent ensuite automatiquement la découverte, l’écran de consentement et l’écran Tools. Chaque périmètre apporté est associé à une capacité WordPress, tout comme les périmètres intégrés, si bien que la même double vérification périmètre-et-capacité s’applique. Au sein de la suite Pilot, cela comprend déjà :

PluginAjoute la capacité de
Invoice PilotLire les factures et en émettre une à partir d’une commande WooCommerce
Mail PilotParcourir le journal d’envoi et envoyer un e-mail via le mailer du site
Security PilotLire l’état de sécurité et le journal d’attaques, bloquer ou débloquer une IP
AI SEO PilotLire les champs SEO d’un article et définir sa méta-description, son mot-clé cible et son schéma
SubscriptionsConsulter les abonnements, le statut et les dates de facturation des utilisateurs

L’écran Tools — accès par rôle et par utilisateur

Les périmètres décident dans les grandes lignes de ce qu’un connecteur peut faire ; l’écran Agent Pilot → Tools vous permet d’affiner, en activant ou désactivant des outils individuels — ou un périmètre entier — pour un rôle WordPress ou un utilisateur spécifique.

Écran Tools d'Agent Pilot — accès aux outils par rôle et par utilisateur
L’écran Tools : choisissez un rôle (ou recherchez un utilisateur), puis réglez chaque outil ou périmètre sur Par défaut, Activé ou Désactivé. Les outils destructeurs sont signalés, et les outils apportés par d’autres plugins Pilot apparaissent regroupés sous leurs propres périmètres.
  • Réglages par défaut sûrs pour l’admin. Les administrateurs obtiennent chaque outil par défaut. Tout autre rôle démarre avec aucun outil — vous accordez exactement ce dont il a besoin, par périmètre ou par outil individuel.
  • Trois états par ligne. Par défaut, Activé ou Désactivé. Une règle au niveau de l’outil l’emporte sur une règle au niveau du périmètre ; parmi les rôles d’un utilisateur, un Désactivé l’emporte toujours.
  • Surcharges par utilisateur. Saisissez un nom ou une adresse e-mail pour charger un utilisateur unique et ajuster son accès indépendamment de son rôle.
  • Uniquement restrictif, et audité. Cette couche se superpose au consentement des périmètres OAuth et aux capacités WordPress — elle peut retirer des outils, jamais accorder quelque chose que l’utilisateur lié ne pourrait pas déjà faire. Chaque appel bloqué est inscrit dans le journal d’audit.

Éditer les pages de constructeur en toute sécurité

Les pages créées avec Divi, Elementor, WPBakery et autres constructeurs similaires stockent leur mise en page sous forme de milliers de lignes de shortcode ou de JSON dans post_content. Tout réécrire juste pour corriger une faute de frappe est risqué — un seul caractère mal placé peut casser la page.

wp_replace_in_post résout cela. Plutôt que d’écraser la page entière, vous donnez à Claude le texte exact à rechercher et son remplacement, et seuls ces octets changent — le balisage du constructeur alentour est préservé octet pour octet. L’outil prend en charge plusieurs éditions en un seul appel (une faute de frappe et une ligne de FAQ, par exemple), refuse d’agir lorsque le texte recherché est introuvable et, par défaut, exige que l’extrait soit unique pour que rien ne change par accident.

Astuce : demandez à Claude de lire d’abord la page avec wp_get_post afin qu’il copie le texte exact, et de lancer wp_maintenance ensuite si le constructeur met en cache une version statique de la page.

Modèle de sécurité

Agent Pilot superpose plusieurs protections indépendantes :

  • OAuth 2.1, pas une clé partagée. Octroi par code d’autorisation avec PKCE et refresh tokens. Les jetons d’accès sont des JWT signés à courte durée de vie ; il n’y a aucun mot de passe statique susceptible de fuiter.
  • Lié à un utilisateur. Chaque jeton porte l’utilisateur WordPress qui l’a approuvé. Les appels d’outils s’exécutent en tant que cet utilisateur, si bien que les règles de rôle et de capacité s’appliquent exactement comme dans wp-admin.
  • Périmètre et capacité. Un périmètre dit « ce connecteur peut écrire du contenu » ; le contrôle de capacité dit « cet utilisateur y est réellement autorisé ». Les deux doivent réussir, à chaque appel.
  • Filtrage des outils par rôle / par utilisateur. En plus des périmètres, l’écran Tools peut désactiver des outils individuels (ou des périmètres entiers) pour un rôle ou un utilisateur unique. C’est une couche uniquement restrictive — toujours appliquée, et chaque appel bloqué est audité.
  • Un consentement lisible. L’écran d’approbation nomme le connecteur, indique l’hôte demandeur et énumère chaque permission demandée — en signalant celles que votre compte ne peut pas réellement accorder.
  • Les actions destructrices sont verrouillées. Supprimer du contenu, changer les plugins/thèmes/utilisateurs ou mettre à jour des options exige un confirm explicite dans la requête, sauf si vous marquez délibérément un connecteur comme de confiance.
  • Tout est audité. Les autorisations, les enregistrements, chaque appel d’outil et chaque tentative échouée sont consignés avec l’utilisateur, le connecteur, l’horodatage et l’IP.
  • Limitation de débit et liste blanche d’IP. Des limites de requêtes par connecteur, plus une liste blanche CIDR optionnelle pour les déploiements cadenassés.
  • Révoquez et faites tourner. Désactivez un connecteur ou un jeton unique en un clic, ou faites tourner les clés de signature pour invalider tous les jetons d’un coup.

L’écran Connectors

Agent Pilot → Connectors est le poste de pilotage :

  • Connect Claude to this site — le MCP endpoint, l’émetteur OAuth et l’URL des métadonnées de ressource protégée, plus une commande à copier-coller pour Claude Code.
  • Registered connectors — chaque client qui s’est enregistré (chaque instance de Claude est sa propre entrée), avec son type et un Revoke en un clic.
  • Active access tokens — une ligne par connexion active, indiquant l’utilisateur, le connecteur, les périmètres accordés et l’expiration, chacune révocable individuellement.
  • Signing keysRotate keys invalide immédiatement tous les jetons émis ; les connecteurs se réautorisent simplement.
  • Recent activity — une piste d’audit en direct. Une nouvelle connexion normale apparaît comme auth_fail (la sonde de découverte initiale) → dcr (enregistrement) → authorize (approuvé) → des entrées tool_call au fur et à mesure que Claude travaille. Les sondes non authentifiées apparaissant comme auth_fail sont attendues sur n’importe quel endpoint public.

Référence des réglages

Configurez le comportement sous Agent Pilot → Settings.

Agent Pilot settings
L’écran des réglages.
RéglageRôle
Enable MCP serverInterrupteur principal. Une fois désactivé, les endpoints OAuth et MCP renvoient 503.
Accept new connectorsAutorise le Dynamic Client Registration. claude.ai web en a besoin pour s’auto-enregistrer ; désactivez-le pour figer la liste des connecteurs.
Trust connectors (skip confirmations)Une fois activé, les outils destructeurs s’exécutent sans le flag confirm par appel. Laissez-le désactivé par sécurité.
Access-token lifetimeDurée de validité d’un jeton d’accès, en secondes (les refresh tokens prolongent la session).
MCP rate limitNombre maximal de requêtes MCP par minute, par connecteur.
IP allowlistListe CIDR optionnelle. Vide = tout autoriser. Notez que claude.ai se connecte depuis des IP du cloud Anthropic.
Extra redirect hostsHôtes de redirection OAuth supplémentaires à accepter lors de l’enregistrement. claude.ai / claude.com et localhost sont toujours autorisés.
Audit-log retentionNombre de jours de conservation des entrées d’audit avant le nettoyage automatique.
Remove all data on uninstallUne fois activé, la suppression du plugin élimine ses tables, options et capacité.

Multi-utilisateur et multi-instance

Comme chaque jeton est lié à un utilisateur WordPress, vous pouvez connecter de nombreux agents à la fois avec des portées différentes :

  • Connectez Claude Desktop en tant qu’éditeur pour le contenu au quotidien, et Claude Code en tant qu’administrateur pour la maintenance du site.
  • Donnez à un collègue son propre connecteur sous son propre compte WordPress — le journal d’audit attribue chaque action à la bonne personne.
  • Les connexions concurrentes sont isolées ; la session et les permissions d’un agent ne débordent jamais sur celles d’un autre.

Dépannage

Le connecteur autorise mais Claude ne liste jamais les outils. C’est presque toujours une URL qui ne correspond pas. Vérifiez que vous avez utilisé le MCP endpoint exact affiché sur l’écran Connectors, et que votre site est joignable en HTTPS depuis le client.

Chaque requête affiche auth_fail même avec un jeton. Certaines configurations Apache/nginx retirent l’en-tête Authorization avant qu’il n’atteigne PHP. Ajoutez une règle de réécriture pour le laisser passer (le même correctif que celui utilisé pour les mots de passe d’application WordPress).

claude.ai ne parvient pas à joindre le site. Le client web se connecte depuis le cloud d’Anthropic — une URL localhost ne fonctionnera pas. Utilisez un domaine HTTPS joignable publiquement.

Un outil renvoie « forbidden ». L’utilisateur WordPress lié n’a pas la capacité requise pour cette action. Autorisez en tant qu’utilisateur disposant du bon rôle, ou accordez la capacité.

Un outil destructeur refuse de s’exécuter. Il lui faut "confirm": true dans la requête (ou activez Trust connectors). Demandez à Claude de réessayer avec confirmation.

Le site a affiché un écran blanc après l’activation aux côtés d’un autre plugin. Videz l’opcache PHP (ou redémarrez PHP) une fois après l’activation si le chargeur partagé d’un plugin frère a été mis en cache dans un état incohérent.

Désinstallation

La désactivation arrête le serveur et les tâches planifiées. La suppression du plugin retire son code ; elle laisse vos données en place sauf si vous avez activé Remove all data on uninstall dans les réglages, auquel cas ses tables, options et la capacité manage_agent_pilot sont éliminées.

Last updated on