Utiliser Composer via Secure MCP Tunnel et ChatGPT

ChatGPT se connecte à des serveurs MCP distants. Lorsque le point de terminaison Composer doit rester privé, OpenAI Secure MCP Tunnel fournit un chemin sortant uniquement, sans ouverture de ports de pare-feu entrants ni publication de l'URL du serveur privé.

Le tunnel est facultatif. Composer et WordPress MCP Adapter prennent aussi en charge les clients MCP compatibles directs.

La vue d'ensemble d'Agent Composer explique le workflow complet, de l'agence au brouillon puis à la production. Le tunnel modifie seulement la manière dont un client authentifié atteint Composer ; il ne modifie ni qui conçoit le site, ni ce que le contrat actif autorise, ni la manière dont un brouillon est revu et publié.

Le WordPress privé peut rester privé

Pour un environnement WordPress local ou protégé par pare-feu, le tunnel établit une connexion sortante vers l'intégration d'agent prise en charge. Aucun point de terminaison WordPress ou MCP entrant n'a besoin d'être ouvert uniquement pour l'agent.

La sécurité du transport et l'autorisation d'exploitation restent séparées. Une connexion de tunnel réussie n'accorde pas un accès WordPress sans restriction : l'identité WordPress dédiée, le Config Set actif, les règles Blueprint, la propriété des brouillons, la validation et les contrôles d'audit continuent de s'appliquer à l'intérieur de WordPress.

Architecture et frontières de confiance

ChatGPT or another supported OpenAI product
|
OpenAI-hosted tunnel endpoint
|
outbound HTTPS polling
|
tunnel-client inside your network
|
private Composer MCP endpoint
|
WordPress authentication + smartcloud_agent capability

tunnel-client s'authentifie auprès du plan de contrôle du tunnel OpenAI et relaie le JSON-RPC MCP entre le point de terminaison de tunnel hébergé et le serveur WordPress privé. WordPress continue d'authentifier le <agent-user> dédié et Composer continue d'appliquer ses propres vérifications de capacité limitée au mode brouillon, de contrat, de propriété et de validation.

Prérequis

Suivez d'abord Configuration MCP directe et vérifiez le serveur Composer depuis l'intérieur du réseau privé.

Vous avez aussi besoin de :

  • un tunnel créé dans les paramètres de tunnel de la plateforme OpenAI ;
  • des droits Tunnels Read + Manage pour le créer ou le modifier ;
  • des droits Tunnels Read + Use pour l'exécuter ou le sélectionner ;
  • une clé d'API d'exécution stockée uniquement sur l'hôte du tunnel ;
  • un accès HTTPS sortant vers api.openai.com:443 ;
  • l'accès au mode développeur de ChatGPT sous le plan et la politique d'espace de travail actuels.

Les autorisations de tunnel de la plateforme et les autorisations d'espace de travail ChatGPT sont distinctes. Associez le tunnel à chaque organisation Platform et espace de travail ChatGPT qui doit être autorisé à le découvrir.

Installer et configurer tunnel-client

Téléchargez le tunnel-client actuel depuis les paramètres de tunnel de la plateforme ou depuis le dépôt officiel des versions OpenAI. Suivez le lien vers la dernière version plutôt que de figer un numéro de binaire dans un runbook opérationnel.

Pour un hôte WordPress où WP-CLI est disponible, la configuration privée la plus directe est un profil stdio. La commande doit sélectionner le serveur MCP dédié de Composer ; un identifiant de serveur différent peut exposer un autre catalogue d'outils même lorsque Composer est installé et à jour.

export CONTROL_PLANE_API_KEY="<runtime-api-key>"

tunnel-client init \
--sample sample_mcp_stdio_local \
--profile <connector-profile> \
--tunnel-id <tunnel-id> \
--mcp-command "wp --path=<wordpress-root> mcp-adapter serve --server=smartcloud-agent-composer --user=<agent-user>"

tunnel-client doctor --profile <connector-profile> --explain
tunnel-client run --profile <connector-profile>

La racine WordPress et l'identité d'agent dépendent de l'installation. Les exemples publics doivent conserver les placeholders ; utilisez les valeurs réelles uniquement dans le profil d'exécution protégé. L'utilisateur WordPress sélectionné doit avoir le rôle smartcloud_agent.

Pour un point de terminaison MCP HTTP privé déjà en cours d'exécution, initialisez plutôt un profil HTTP distinct :

tunnel-client init \
--profile <connector-profile> \
--tunnel-id <tunnel-id> \
--mcp-server-url "<mcp-endpoint>"

Configurez l'authentification WordPress via le mécanisme d'authentification côté MCP pris en charge par tunnel-client ou via un proxy local privé. Ne placez pas le mot de passe d'application WordPress dans le Config Set, la ligne de commande ou le contrôle de source. Ne laissez le processus s'exécuter comme service supervisé qu'après que doctor a indiqué un état sain et prêt.

Avant d’analyser les outils dans ChatGPT, inspectez le processus de tunnel en cours ou son interface /ui locale et confirmez qu'il cible smartcloud-agent-composer. Un contrôle d’état réussi prouve que le démon fonctionne ; il ne prouve pas que le profil a sélectionné le serveur MCP WordPress voulu. Les outils découverts doivent utiliser le préfixe smartcloud-agent-composer-* et inclure les opérations de Blueprint, de contexte de conception, de validation, de brouillon et d’aperçu. Pour les flux de travail de contenu structuré, confirmez aussi que le catalogue contient les capacités canoniques smartcloud-agent-composer/get-content-field-contract, smartcloud-agent-composer/search-relation-targets, smartcloud-agent-composer/update-content-fields et smartcloud-agent-composer/inspect-content-fields. smartcloud-agent-composer/list-content-drafts peut aussi être présent, mais son rôle est la découverte de contenu modifiable ou adoptable, pas la résolution de cibles de relation. Pour un workflow activé par taxonomie, confirmez aussi les outils canoniques smartcloud-agent-composer/get-taxonomy-contract, smartcloud-agent-composer/search-taxonomy-terms, smartcloud-agent-composer/create-taxonomy-term, smartcloud-agent-composer/assign-taxonomy-terms et smartcloud-agent-composer/inspect-taxonomy-terms. La création n'est pas un recours de secours pour une correspondance incertaine : le client doit d'abord rechercher et ne demander une confirmation explicite que lorsqu'un nouveau terme de navigation publique est justifié.

Créer l'application / le plugin MCP personnalisé ChatGPT

L'interface OpenAI et la disponibilité des plans peuvent changer ; suivez le guide actuel du mode développeur et le guide de connexion des plugins.

Le flux actuel est le suivant :

  1. Activez le mode développeur dans l'emplacement autorisé par la politique d'espace de travail ChatGPT.
  2. Ouvrez la page ChatGPT Plugins/Apps et créez une application en mode développeur.
  3. Saisissez un nom et une description clairs, par exemple Agent Composer et Governed WordPress Gutenberg draft creation and preview.
  4. Choisissez Tunnel comme type de connexion.
  5. Sélectionnez le tunnel associé ou saisissez son <tunnel-id>.
  6. Scannez les outils et terminez l'authentification si demandé.
  7. Examinez chaque outil découvert et son annotation write/modify avant de créer l'application.

La prise en charge d'écriture MCP personnalisée et la disponibilité du mode développeur dépendent du plan ChatGPT et de la politique d'espace de travail. Ne décrivez pas la connexion comme une intégration vérifiée par OpenAI tant qu'elle n'a pas terminé l'examen OpenAI applicable.

Tester en toute sécurité

Commencez une nouvelle discussion, activez uniquement l'application Composer et utilisez une invite bornée :

Load the active Composer design context, then the blueprint for <page-type> and
approved patterns, validate a minimal plan, create one agent-owned
WordPress draft, and return its preview. Do not publish, delete normal content,
upload media, or change plugins, themes, users, or configuration.

Vérifiez :

  • que ChatGPT sélectionne les outils de Blueprint, de contexte de conception, de composition, de validation, de brouillon et d’aperçu dans l'ordre attendu ;
  • que WordPress contient un brouillon plutôt qu'un élément publié ;
  • que le rapport de validation de l'aperçu est propre ;
  • que le journal d'audit Composer enregistre l'acteur authentifié et le résultat ;
  • que les demandes de publication ou de suppression non prises en charge ne produisent aucun outil Composer exécutable.

Dépannage

  • Tunnel absent dans ChatGPT : confirmez l'association à l'espace de travail et l'autorisation Tunnels Read + Use.
  • Le scan des outils échoue : laissez tunnel-client run actif, inspectez son /ui local et exécutez doctor --explain.
  • Le transport fonctionne mais WordPress rejette les appels : corrigez l'identité WordPress dédiée ou l'authentification côté MCP ; n'accordez pas l'accès administrateur.
  • Anciens outils, outils manquants ou outils non liés : vérifiez d'abord que le profil du tunnel lance --server=smartcloud-agent-composer. Après une mise à niveau de Composer, redémarrez le runtime PHP concerné, le service MCP/tunnel spécifique au site, et le processus de tunnel supervisé. Actualisez les actions de l'application, examinez le diff de définition des outils, confirmez les abilities canoniques attendues et commencez une nouvelle conversation. Si le plan ChatGPT actuel ne permet pas de mettre à jour une application publiée, recréez-la et republiez-la.
  • Les appels expirent : confirmez l'accès sortant au plan de contrôle OpenAI et l'atteignabilité locale du <mcp-endpoint> depuis l'hôte du tunnel.
  • La validation Composer échoue : considérez cela comme une inadéquation de contrat ou de thème actif, pas comme un échec du tunnel.

Seuls des serveurs MCP de confiance doivent être connectés. L'injection d'invite et des permissions d'outil trop larges restent des risques au niveau de l'application même lorsque le chemin réseau est privé.