Le WordPress d'aujourd'hui, décodé pour les développeurs

IA & MCP

Faire cohabiter une intégration Stripe existante avec un serveur MCP

Novembre 2024, le Model Context Protocol est publié. Une extension WordPress connectait déjà un agent à Stripe depuis 2023 avec du function calling classique. Comment migrer sans tout jeter.

Par Clément Hadrot • 15 août 2025 • 4 min de lecture • Aucun commentaire
Faire cohabiter une intégration Stripe existante avec un serveur MCP

Novembre 2024 : le Model Context Protocol est publié par Anthropic. Une extension WordPress construite en 2023, bien avant que ce standard n’existe, exposait déjà à un agent onze fonctions de facturation Stripe via du function calling classique — création de client, génération de facture, application d’un avoir, entre autres. La question, dix-huit mois plus tard, n’était pas de savoir s’il fallait migrer vers MCP, mais comment le faire sans réécrire ni interrompre un système qui tournait en production depuis plus d’un an.

Réécrire les onze fonctions d’un coup, avec le risque de régression que cela implique sur un système qui gère de la facturation réelle, n’était pas envisageable. L’architecture retenue introduit une couche intermédiaire qui permet aux deux mondes de coexister le temps de la transition.

L’état de départ

extension-facturation-ia/
├── includes/
│   ├── class-fonctions-llm.php        # 11 fonctions exposées en function calling
│   ├── class-appel-openai.php         # appel direct à l'API Chat Completions
│   └── class-stripe-client.php        # wrapper autour du SDK Stripe PHP
└── extension-facturation-ia.php

Chaque fonction était décrite dans un tableau PHP passé directement à l’appel API, avec son propre schéma de paramètres, sans aucune couche d’abstraction entre la définition de la fonction et son exécution réelle contre l’API Stripe.

L’architecture cible : une façade commune

L'essentiel à retenir : L'ancienne couche de function calling est conservée derrière une façade commune ; Le serveur MCP vient s'ajouter, il ne remplace rien dans l'immédiat ; La bascule complète se fait outil par outil, pas d'un bloc

Plutôt que de dupliquer la logique métier dans un nouveau serveur MCP, l’ensemble des fonctions de facturation a été extrait dans une couche de services PHP indépendante de tout protocole, appelée à la fois par l’ancien mécanisme de function calling et par le nouveau serveur MCP construit avec le plugin MCP Adapter :

extension-facturation-ia/
├── includes/
│   ├── services/
│   │   └── class-service-facturation.php   # logique métier, protocole-agnostique
│   ├── class-fonctions-llm.php             # appelle le service (function calling)
│   ├── class-mcp-outils-facturation.php    # appelle le même service (MCP)
│   └── class-stripe-client.php
└── extension-facturation-ia.php

Cette extraction a représenté l’essentiel du travail de migration : chaque fonction existante a été « vidée » de sa logique, qui a migré vers le service, ne laissant dans class-fonctions-llm.php qu’un appel de façade vers ce service commun.

La bascule outil par outil

Les onze fonctions ont été migrées une par une sur six semaines, en commençant par les moins critiques (consultation d’une facture existante) avant de s’attaquer aux plus sensibles (émission d’un avoir). Chaque outil MCP nouvellement exposé a coexisté plusieurs jours avec son équivalent en function calling avant que ce dernier ne soit désactivé, le temps de vérifier que le comportement restait identique sur des cas réels.

  1. Extraction de la logique métier dans un service protocole-agnostique
  2. Exposition de l’outil équivalent via le serveur MCP
  3. Période de coexistence avec surveillance des deux chemins
  4. Désactivation de l’ancienne fonction en function calling

Ce qui a été gardé volontairement

Le client Stripe PHP existant (class-stripe-client.php) n’a pas été touché : il fonctionnait correctement et gérer une nouvelle couche d’accès (MCP) ne justifiait aucune remise en cause de la couche d’accès à l’API Stripe elle-même. Seule l’interface entre le modèle de langage et cette logique métier a changé de protocole.

Migrer vers MCP ne veut pas dire réécrire ce qui fonctionne ; cela veut dire changer la porte d’entrée, pas la maison derrière.

En résumé

Cette migration progressive a permis de conserver un système de facturation stable pendant toute la transition, en isolant le vrai changement (le protocole d’exposition à l’agent) de ce qui n’avait pas besoin de changer (la logique métier et le client Stripe). La sécurité de cette migration, notamment le contrôle des accès pendant la période de coexistence des deux mécanismes, mériterait cependant un traitement à part entière.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi