Nos bureaux

  • Exceev Consulting
    61 Rue de Lyon
    75012, Paris, France
  • Exceev Technology
    332 Bd Brahim Roudani
    20330, Casablanca, Maroc

Suivez-nous

Préférences

Kit de marque

8 min de lecture - Migration MCP sans session : explicitez l’état et sécurisez les reprises

MCP Architecture

Date de publication 2 septembre 2026 · Auteur Exceev Consulting

Le 1er septembre 2026, AWS a publié un nouveau guide d’architecture consacré au Model Context Protocol sans session. Le billet traduit la révision MCP 2026-07-28 en décisions de déploiement : retirer l’affinité de routage et les magasins de session lorsque les anciens clients ont disparu, permettre à chaque instance de répondre et rendre les outils sûrs en cas de nouvelle tentative.

Le conseil est utile, mais l’expression « sans état » peut pousser à un mauvais raccourci. Une équipe risque de voir l’infrastructure qu’elle peut supprimer avant d’identifier ce que l’ancienne session transportait. La publication officielle de MCP est précise : MCP a supprimé les sessions au niveau du protocole. Il n’a pas retiré l’état des processus métier, des validations ni des traitements longs.

Pour une startup ou une PME qui exploite ses serveurs MCP, la question devient « Chaque requête peut-elle atteindre une autre instance sans perdre son contexte, répéter une action ou franchir la frontière d’un locataire ? » Les économies d’infrastructure viennent après cette preuve.

Un protocole sans session pour un travail qui garde un état

La révision 2026-07-28 retire l’échange initialize et initialized, ainsi que l’en-tête Mcp-Session-Id. Chaque requête transporte la version du protocole et les capacités du client. Les serveurs exposent une méthode server/discover, même si le client n’est pas obligé de l’appeler avant une requête d’outil. Le journal des changements de la spécification précise aussi que les listes ne varient plus selon la connexion.

Ces changements séparent la continuité du transport de celle de l’application. Un devis peut garder un identifiant de brouillon, un dossier d’assistance son numéro et un export son identifiant de traitement. Le serveur crée une référence explicite que le client ou le modèle renvoie comme argument d’outil.

Un modèle peut répéter, modifier ou substituer cet identifiant. Chaque outil doit donc le résoudre dans le contexte de l’utilisateur, du locataire et des autorisations en cours. Une référence reste une entrée non fiable, jamais une preuve de propriété.

Notre guide sur les permissions MCP et l’accès sûr aux outils traite la confiance accordée au serveur. La migration ajoute un contrôle précis : tout état auparavant lié implicitement à une session doit recevoir un propriétaire et une règle de validation explicites.

Inventoriez ce que la session masquait

Suivez d’abord un processus réel sur plusieurs appels et notez les informations que les appels suivants supposent connues. Distinguez les dossiers métier durables des données de reprise courtes, car ils n’ont pas les mêmes règles de conservation et d’accès.

Hypothèse masquée dans l’ancien parcoursEmplacement explicite après migrationTest de panne
Capacités du client et du protocoleMétadonnées de chaque requêteEnvoyer l’appel suivant vers une autre instance
Brouillon ou objet métierDossier durable avec identifiant opaqueRedémarrer le serveur entre deux appels
Saisie utilisateur en attenteJeton requestState signé ou chiffréModifier puis rejouer le jeton
Exécution d’outil déjà terminéeDossier d’opération indexé par une clé d’idempotenceCouper la réponse après l’effet métier
Locataire et permissionsIdentité et politique réévaluées à chaque appelPrésenter l’identifiant d’un autre locataire

Ce tableau est un support Exceev, pas une structure imposée par MCP. Si l’équipe ne sait pas où une information résidera, elle ne doit pas retirer l’ancien parcours.

N’insérez pas un dossier complet dans un jeton pour éviter une base de données. Les jetons peuvent atteindre les modèles, clients, journaux et traces. Utilisez une référence opaque pour le durable. Pour une reprise courte, la spécification emploie requestState ; AWS demande de traiter ce jeton comme non fiable et de protéger son intégrité par HMAC ou chiffrement authentifié.

Faites cohabiter deux générations du protocole

Mettre à jour un SDK ne prouve pas que le trafic emploie la nouvelle révision. Le guide officiel de migration du SDK TypeScript indique que les clients et serveurs v2 assemblés directement conservent par défaut le comportement réseau de 2025. L’utilisation de 2026-07-28 demande une activation explicite.

Le mode automatique sonde server/discover, puis revient à l’ancien protocole s’il reconnaît un pair ancien. Une erreur d’authentification, une panne serveur ou un délai HTTP reste une panne, jamais une preuve de version.

Prévoyez une période à deux générations. Journalisez la version par requête et séparez trafic moderne, trafic ancien, échecs de négociation et refus d’authentification. Testez les couples nouveaux et anciens ainsi que leur passage par la passerelle de production.

Conservez l’affinité et le magasin tant qu’un client pris en charge en dépend, comme le recommande AWS. Fondez leur retrait sur le trafic observé et les engagements d’assistance. Une date seule ne suffit pas.

Concevez les reprises autour de l’effet métier

Le changement de transport modifie aussi la reprise. AWS explique qu’une réponse interrompue peut conduire le client à renvoyer un appel. Les outils d’écriture doivent donc être idempotents. Rejouer une lecture cause rarement un problème ; rejouer create_invoice, send_message ou approve_order peut produire un second effet.

Attribuez une clé d’idempotence à chaque opération et enregistrez-la avec son résultat avant de renvoyer le succès. La même clé et les mêmes arguments doivent retourner le résultat enregistré. Si les arguments diffèrent, refusez la réutilisation au lieu de deviner.

Une trace suit l’exécution, un identifiant JSON-RPC associe réponse et requête, et la clé d’idempotence empêche le double effet métier. Leur unicité pendant un test ne les rend pas interchangeables.

Testez le cas où la cible accepte l’action sans que le client MCP reçoive la réponse. Coupez la connexion, renvoyez l’appel par une autre instance et inspectez les deux systèmes. Une simulation unitaire ne suffit pas.

Reconstruisez les preuves à l’échelle de la requête

Pour chaque appel, enregistrez la version, l’identité, le locataire, l’outil, le type de résultat, la clé métier et la trace. Excluez des journaux généraux les secrets, jetons complets et arguments sensibles.

Le nouveau transport Streamable HTTP impose les en-têtes MCP-Protocol-Version, Mcp-Method et, pour les opérations nommées, Mcp-Name. La spécification du transport exige aussi que l’en-tête de version corresponde à la version inscrite dans le corps de la requête. Ces champs alimentent routage et mesures sans analyser les arguments, mais ils ne prouvent pas l’action métier obtenue.

Reliez la trace au dossier durable de l’opération. Les équipes peuvent alors passer de « l’agent a appelé un outil » à « la commande a changé une fois sous cette identité ». Notre article sur la trace d’audit minimale d’un agent détaille les preuves utiles pour une action autonome.

Une répétition de migration pour une petite équipe

Choisissez un processus réversible ou isolé. Relevez le parcours de session, les versions de client, chaque magasin et règle de routage. Exposez ensuite un serveur à deux générations et mesurez la négociation réelle.

Placez l’état dans des dossiers explicites ou des jetons protégés. Alternez les instances, redémarrez-en une, puis testez une référence d’un autre locataire, une référence expirée et un requestState modifié. L’échec ne doit pas révéler l’existence du dossier.

Interrompez une écriture après son acceptation, rejouez-la ailleurs et vérifiez qu’un seul effet subsiste. Reliez les tentatives à la même opération sans exposer le jeton.

Désactivez l’affinité et supprimez le magasin de session lorsque le trafic ancien atteint la condition convenue. Surveillez erreurs, latence et doublons, puis gardez le retour arrière pendant la période d’observation.

Sources et limites

La révision MCP date du 28 juillet ; le déclencheur actuel est l’analyse de déploiement publiée par AWS le 1er septembre. Les sources ne mesurent ni le coût, ni les performances, ni la fiabilité de la migration sur un échantillon représentatif de systèmes de PME. Un hébergeur MCP peut gérer différemment la compatibilité ou l’état applicatif. L’inventaire, les tests et les conditions de retrait proposés ici constituent la synthèse opérationnelle d’Exceev, pas une norme de migration MCP ou AWS. Vérifiez-les avec vos SDK, votre hébergement, vos obligations sur les données et votre processus de changement.

Retirez l’infrastructure lorsque les preuves existent

Un protocole sans session peut simplifier la mise à l’échelle et la reprise. Gardez l’état explicite, contrôlez chaque identifiant, sécurisez les reprises d’écriture et observez les versions en production. Retirez seulement l’infrastructure qu’aucun parcours pris en charge n’utilise.

Parlons-en.

Exceev accompagne les startups et les PME en stratégie, intégration IA, ingénierie sur mesure et montée en compétences technologiques.

Autres articles

Atlas des outils IA 2026, outils, agents, modèles et infrastructure

Explorez la cartographie Exceev, mise à jour en continu, des fournisseurs IA, frameworks d’agents, outils de développement, plateformes de modèles, infrastructures, systèmes d’évaluation et produits d’IA créative.

Lire la suite

Rupture OpenAI-Cursor : testez votre plan de sortie

La rupture annoncée entre OpenAI et Cursor permet de tester la continuité, la portabilité des modèles et le changement de fournisseur.

Lire la suite

Parlez-nous de votre projet

Nos bureaux

  • Exceev Consulting
    61 Rue de Lyon
    75012, Paris, France
  • Exceev Technology
    332 Bd Brahim Roudani
    20330, Casablanca, Maroc