MCP ne ressemble plus à une interface de plugin d'un fabricant, il commence à ressembler à un canal public. Le canal sera plus solide, mais aussi plus impassible.Auteur et source de l'article : 0x9999in1, ME News

TL;DR
- Le 28 juillet 2026, MCP publie la cinquième version de la spécification
2026-07-28, qualifiée officiellement comme la plus grande révision depuis la naissance du protocole. L'action principale est unique : supprimer la session du niveau protocole. initialize/initializedLa poignée de main a disparu,Mcp-Session-IdL'en-tête de demande a disparu. Chaque demande inclut automatiquement la version du protocole, l'identité du client et les déclarations de capacité, écrites dans_meta. Toute demande peut être traitée par n'importe quelle instance ; un équilibrage de charge par rotation suffit.- Ce n'est pas une optimisation de performance, c'est une erreur d'architecture. Les sessions persistantes et le stockage partagé de sessions représentaient autrefois la partie la plus coûteuse de la facture sur les serveurs MCP.
- L'état n'a pas disparu. Il a été déplacé de la couche de transmission vers les paramètres de l'outil, sous le nom de « gestion explicite ». Le modèle le voit et peut donc le contrôler.
- Les interfaces interactives (MCP Apps) et les tâches longues (Tasks) sont désormais intégrées officiellement dans le cadre d'extensions versionné, le protocole principal ne s'alourdit plus pour de nouvelles fonctionnalités. L'authentification s'aligne sur OAuth 2.0 et OIDC du monde réel, et l'extension d'autorisation hébergée pour les entreprises passe également en version stable ce jour.
- Le coût est réel : il s'agit d'un breaking change. Roots, Sampling et Logging, ainsi que l'ancienne transmission HTTP+SSE, sont désormais dépréciés, avec une fenêtre de transition d'au moins 12 mois offerte par l'équipe officielle.
- Une phrase pour juger : MCP ne ressemble plus à une interface de plugin d'un fabricant, il commence à ressembler à un canal public. Le canal sera plus solide, mais aussi moins réactif.
Les deux lignes supprimées constituent le véritable poids de cette mise à jour.
Dites d'abord un fait contre-intuitif.
La partie la plus importante de cette mise à jour, qualifiée de « plus grande révision de l'histoire », n'est pas ce qui a été ajouté, mais ce qui a été supprimé.
initialize et initialized ce couple de handshake existe depuis la naissance de MCP le 11 novembre 2024.Mcp-Session-Id cet en-tête de requête est la fondation de toutes les solutions de déploiement après le déploiement distant de MCP. Le 28 juillet, les deux ont été supprimés ensemble.
À quoi ressemble la nouvelle demande ? Elle est très simple.
POST /mcp HTTP/1.1
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: search
Les noms de méthodes et d'outils sont déplacés dans les en-têtes HTTP. Les passerelles, les limiteurs de débit et les WAF n'ont plus besoin de décomposer le corps JSON pour deviner la nature de l'appel ; il suffit de consulter les en-têtes. La version du protocole, les informations client et les déclarations de capacités sont toutes intégrées dans _meta et transmises avec la requête. Vous souhaitez connaître à l'avance les capacités du serveur ? Un nouvel endpoint server/discover a été ajouté, mais il est facultatif, pas obligatoire.
What does this mean? It means the MCP server has finally become a regular HTTP workload.
Selon Sean Roberts, vice-président de l'IA chez Netlify, c'est très simple : le noyau sans état fait du MCP un chargement HTTP de première classe, sans gestion de session à contourner. Cloudflare va encore plus loin, affirmant que cette version permet à l'infrastructure Agent de commencer à fonctionner comme le reste du web : sans état, mise en cache, routable et extensible à l'échelle mondiale.
Ça ressemble à un discours typique de fabricant. Mais cette fois-ci, c'est différent, car ils parlent d'un même événement concret : la session a disparu, donc Lambda fonctionne, Workers fonctionnent, les nœuds périphériques fonctionnent.
Deuxièmement, la session persistante constitue le véritable plafond de la mise à l'échelle des agents
Pourquoi prendre une telle mesure ?
Le modèle ancien souffre d'une limitation physique incontournable : les sessions sont fixées à l'instance qui gère la négociation.
Alors, tout le monde est forcé de faire la même chose : soit ouvrir des sessions persistantes pour que l’équilibreur de charge se souvienne de quelle machine chaque client doit atteindre, soit déployer un stockage partagé comme Redis pour stocker l’état des sessions et le rendre accessible à toutes les instances.
Les deux chemins sont possibles. Mais tous deux impliquent le paiement d’un impôt implicite.
La session persistante rend le scaling difficile. Lorsqu'une instance doit être mise hors ligne, les sessions qui y sont attachées doivent être interrompues. Lors d'une augmentation soudaine du trafic, les nouvelles instances lancées ne peuvent pas reprendre les sessions existantes, ce qui entraîne un déséquilibre constant de la charge. Le chemin de stockage partagé est plus coûteux : vous introduisez un middleware avec état pour une exigence qui n'est fondamentalement qu'une simple "mémoire du nom du client", et vous devez en assurer la haute disponibilité.
Ce n'est pas un problème à petite échelle. Cela devient un problème à grande échelle.
Regardez ces chiffres pour comprendre l'évolution de l'échelle. En décembre 2025, à l'occasion du premier anniversaire de MCP, le nombre de téléchargements mensuels du SDK était de 97 millions. À cette publication en juillet 2026, Anthropic indique un nombre de téléchargements mensuels dépassant 400 millions, tandis que le blog officiel parle de « près de cinq cent millions », soit une croissance de quatre fois en un an. Les téléchargements cumulés des deux SDK, TypeScript et Python, ont chacun franchi la barre du milliard.
Le répertoire des connecteurs Claude propre à Anthropic répertorie désormais plus de 950 serveurs MCP. Les données de l'entreprise d'observabilité Honeycomb illustrent mieux que les Agents sont déjà en train de travailler en conditions réelles : près de 20 % de leurs requêtes interactives mensuelles sont initiées par des Agents.
Quadrupler en six mois. Sous cette courbe, toute « taxe invisible » architecturale sera amplifiée en une dépense explicite.
Ainsi, la formulation officielle est « l'une des fonctionnalités les plus demandées par les développeurs ». Traduction : ce n'est pas nous qui voulons changer, c'est ceux qui l'utilisent en production qui ne peuvent plus le supporter.
Troisièmement, l'état n'a pas disparu ; il a été déplacé devant le modèle.
Il y a un malentendu qui doit être clarifié.
Le protocole est sans état, ce qui ne signifie pas que votre application est sans état.
La solution alternative spécifiée s'appelle un gestionnaire explicite. Votre outil doit conserver l'état entre les appels ? Dans ce cas, faites en sorte que l'outil retourne un identifiant, par exemple basket_id, que le modèle utilisera comme paramètre lors de l'appel suivant.
La phrase du blog officiel, à mon avis, est la plus intéressante de tout le document : ils ont constaté que c'était plus efficace que de cacher l'état au niveau du transport, car le modèle peut voir ce gestionnaire et ainsi le relier entre les outils.
Arrêtez-vous un instant pour réfléchir à la portée de cette phrase.
L'ancienne logique de conception était : l'état relève de l'infrastructure, le modèle n'a pas à s'en préoccuper. La logique actuelle est inversée : l'état fait partie de la chaîne d'inférence du modèle ; le cacher rend les jugements du modèle moins précis.
Cacher l'état rend le modèle idiot. Cette conclusion n'est pas déduite d'une esthétique d'architecture, mais tirée de dix-huit mois d'incidents en production.
La même logique s'applique à la voie où le serveur initie des demandes. Autrefois, lors de l'exécution d'un outil, une question comme « Confirmez-vous la suppression de ces 3 fichiers ? » devait être posée à l'utilisateur via un flux SSE maintenu en continu pour renvoyer la demande au client. Après la transition vers un modèle sans état, ce flux a disparu, remplacé par des Demandes Multi Round-Trip, abrégées en MRTR.
The mechanism is not complex. The server returns a result type of "input required," along with the questions it needs to ask, and a requestState. The client collects the answers and resubmits the original call with the inputResponses and the unchanged requestState. Since everything needed to continue is contained within requestState, this retry can be handled by another machine and continue seamlessly.
Inian Parameshwaran, responsable produit chez Supabase, a dit une vérité simple : prendre en charge l'élicitation était sur leur feuille de route depuis longtemps, mais comme Supabase MCP fonctionne naturellement sans état, cela n'était pas possible. Après MRTR, c'est devenu possible : les outils peuvent maintenant vérifier les coûts avant de créer un projet et poser une question avant de supprimer des données.
Je souhaite mentionner un point qui n’est pas souligné dans la documentation officielle, mais que vous rencontrerez inévitablement en ingénierie :requestState est géré et renvoyé par le client ; il se trouve naturellement en dehors de la frontière de confiance. Si le serveur le traite comme une entrée fiable et le désérialise directement, il s’ouvre une faille. La signature, le chiffrement et la définition d’une date d’expiration deviendront rapidement des pratiques standard dans la communauté. C’est mon jugement, pas une exigence du protocole.
Quatre : Cadre étendu — le protocole commence à apprendre à "ne pas prendre de poids"
Le deuxième vrai pari est que le cadre d'extension est passé de la convention à l'institution.
Nomination DNS inverse, négociation de capacités via les extensions, dépôts indépendants ext-* avec des maintaineurs autorisés, version indépendante de la spécification principale. Cela semble ennuyeux, mais cela résout le problème que toute protocole réussi rencontre : le noyau devient de plus en plus lourd.
Les deux extensions sont désormais officiellement validées.
Les applications MCP permettent au serveur d'envoyer directement l'interface interactive dans la conversation. Ce n'est pas du texte brut, ni du JSON structuré, mais une interface HTML complète s'exécutant dans un iframe sandbox. Graphiques, formulaires, sélecteurs, tout est possible. La conception clé réside dans le fait que les outils doivent déclarer à l'avance des modèles d'interface, permettant ainsi au client de précharger et d'effectuer une analyse de sécurité avant tout rendu. Les interactions sur l'interface passent toujours par le canal JSON-RPC standard des appels d'outils.
Tasks : Traitement de l'autre moitié du problème : tâches longues. Elles passent d'une fonction expérimentale à une extension officielle, avec un cycle de vie redéfini comme sans état :tools/call retourne un handle de tâche, que le client interroge avec tasks/get, accompagné des nouvelles fonctions tasks/update et tasks/cancel.
Il est à noter que tasks/list a été supprimé. La raison est claire : sans session, l'opération « lister toutes les tâches » n'est plus sécurisée, car vous ne pouvez pas définir à qui appartiennent « toutes » les tâches.
Cette extension est apportée par AWS. Swami Sivasubramanian, vice-président d'Agentic AI chez Amazon, a déclaré que la nouvelle spécification et le noyau sans état ont été intégrés à Bedrock AgentCore. Du côté de Microsoft, Tina Schuchman, vice-présidente ingénierie Foundry, a indiqué que MCP leur a permis de passer de dizaines à des milliers d'intégrations ; Foundry Toolbox regroupe les outils via un point de terminaison MCP unifié pour centraliser la gouvernance, l'identité et l'observabilité.
Un protocole utilisé par AWS, Microsoft, Google Cloud et Cloudflare comme fondation pour construire dessus. Ce n'est plus une spécification d'extension d'une seule entreprise.
Cinq : Le vrai problème n'est jamais la connexion, mais l'identité
Dans le blog officiel, une déclaration honnête affirme : au cours de la dernière année, les discussions avec les implémenteurs ont révélé que l'autorisation est le domaine qui leur prend le plus de temps.
This version adds six SEP authorizations, all unglamorous but necessary. The authorization server must return the iss parameter according to RFC 9207, and the client must verify it before exchanging the code—this closes the authorization server confusion attack. During dynamic registration, the client must declare application_type, and localhost callbacks for desktop and CLI applications are no longer arbitrarily rejected. Credentials are bound to the issuer that issued them and cannot be reused across authorization servers.
Plus significatif : le registre dynamique client (DCR) lui-même est officiellement déprécié, avec une orientation vers le document de métadonnées d'ID client (CIMD). Le DCR est encore utilisable, avec une compatibilité ascendante conservée, mais il sera supprimé dans les futures versions.
Le même jour, l'extension d'autorisation de stockage entrepris (EMA) est passée en version stable. Cela pourrait avoir un impact plus important pour les TI entreprises que l'état sans état.
Dans l'ancien modèle, chaque employé devait autoriser séparément chaque serveur. À l'embauche, il fallait se connecter manuellement à chaque service un par un. L'équipe sécurité ne pouvait pas appliquer de politique unifiée ; les autorisations étaient accordées individuellement par chaque utilisateur, sans contrôle centralisé ni trace d'audit. Pire encore, les comptes professionnels et les comptes personnels étaient mélangés, sans mécanisme obligatoire pour utiliser une identité entreprise.
EMA transforme le fournisseur d'identité de l'entreprise en entité décisionnelle. Il repose sur les assertions ID-JAG émises par l'IdP lors de la connexion unique, que le client utilise pour obtenir un jeton d'accès du serveur d'autorisation MCP. L'utilisateur ne passe jamais par aucune page d'autorisation sur un serveur unique.
Okta est le premier IdP pris en charge, via son Cross App Access. Du côté client, Claude et VS Code sont tous deux intégrés. Du côté serveur, Asana, Atlassian, Canva, Figma, Granola, Linear et Supabase sont déjà pris en charge, et Slack est en cours de déploiement. L'évaluation de Tom Moor, chef de projet chez Linear, est assez charmante : « Se connecter une seule fois et que tous les connecteurs MCP soient automatiquement configurés, c’est magique. »
La partie magique ne réside pas dans l'expérience, mais dans la gouvernance. L'accès aux décisions est enfin revenu dans l'interface de gestion de l'IdP, avec une chaîne d'audit traversant tous les connecteurs.
Mais je dois être complet : l’État nul et l’EMA résolvent l’identité et l’échelle, mais pas tous les aspects de la sécurité des agents. Les deux chiffres du rapport de Cisco « État de la sécurité IA en 2026 » restent là : 83 % des organisations prévoient de déployer des capacités d’agent, mais seulement 29 % se sentent prêtes. Les injections de prompts, le poison des descriptions d’outils, les agents utilisés comme ponts pour des mouvements latéraux — ces problèmes ne disparaîtront pas simplement parce que le protocole a supprimé la session.
La bonne nouvelle est que,Mcp-Method et Mcp-Name une fois mis en place, le coût d'exécution des stratégies par la passerelle a diminué. La norme exige également que le serveur rejette les requêtes dont l'en-tête et le corps ne correspondent pas, ce qui bloque un type de désalignement entre routage et sécurité. Il s'agit d'une amélioration concrète de la posture défensive. Mais cela s'arrête là.
Six : Coût : Il s'agit d'un changement cassant, la facture a déjà été émise
Je n'aime pas ne parler que des rendements sans parler des comptes.
Cette version est un changement breaking. Les fonctionnalités Roots, Sampling et Logging sont collectivement mises en état de dépréciation. Le transfert HTTP+SSE ancien est également officiellement déprécié. La spécification établit en outre une politique formelle de cycle de vie des fonctionnalités : Active → Dépréciée → Supprimée, avec au moins 12 mois pour chaque étape.
Il y a également quelques détails mineurs mais importants : les schémas d'entrée et de sortie des outils prennent désormais en charge l'intégralité du vocabulaire JSON Schema 2020-12, oneOf,anyOf, ainsi que les conditions ; le code d'erreur « ressource non trouvée » est passé de l'erreur personnalisée -32002 à la norme JSON-RPC -32602. Si vous avez codé en dur -32002 dans votre code, vous devez le modifier.
Le lieu où le coût de migration est le plus élevé, l'officiel l'a lui-même indiqué : les développeurs dépendant des identifiants de session.
Il vaut donc la peine de répéter le calendrier. La version candidate a été verrouillée le 21 mai, avec une sortie officielle prévue le 28 juillet, laissant dix semaines entières aux maintaineurs du SDK et aux implémenteurs de clients pour effectuer des validations. Les quatre SDK de niveau 1 (TypeScript, Python, Go, C#) ont tous pris en charge la nouvelle version dès le jour de la sortie, tandis que le SDK Rust était en version bêta.
Une fenêtre de vérification publique de dix semaines + une période de transition de 12 mois pour la mise à la retraite + la normalisation du SEP doivent tous avoir des scénarios correspondants dans la suite de tests de conformité avant d'être finalisés. Ces trois éléments ensemble constituent, à mes yeux, la partie la plus professionnelle de cette mise à jour.
Ce n'est pas une tentative de masquer les changements cassants, ni de les laisser à la charge de la communauté.
La exigence de cohérence est particulièrement cruciale. Pour intégrer de nouvelles fonctionnalités sur la voie standard à l'avenir, commencez par écrire des scénarios testables. C'est une approche qui lie « l'intention de conception » à « la réalité de l'implémentation », que de nombreux protocoles n'ont apprise qu'après avoir subi de lourdes pertes.
Il est intéressant de noter que la migration a également généré des gains positifs. Enrico Toniato, chef technologue de Manufact, derrière le framework open source mcp-use, a fourni des chiffres concrets : en utilisant le nouveau SDK v2 pour séparer le client et le serveur, la taille du paquet a été réduite d'environ 83 %, et la vitesse a augmenté de 25 %.
Une réduction de l'architecture a également allégé le paquet. Ce genre de chose n'arrive pas souvent.
Sept. Ma judgment
Alors, comment voyez-vous cette mise à jour ?
Mon premier jugement est : c'est une erreur reconnue, et une belle erreur reconnue.
La conception initiale bidirectionnelle et avec état de MCP a émergé autour de scénarios locaux. Votre éditeur est connecté à un serveur s'exécutant localement, établit une seule poignée de main et maintient une connexion unique, ce qui est tout à fait raisonnable. Le problème survient lorsque MCP distant est mis en œuvre : ce modèle est transféré dans un environnement cloud, et tout le monde commence à lui appliquer des correctifs. Les sessions persistantes sont un correctif, le stockage des sessions dans Redis est un correctif, et la maintenance d'une connexion longue pour l'élicitation est également un correctif.
À un certain point, trop de correctifs signifient qu’il est temps de modifier les fondations. Selon David Soria Parra, co-inventeur du protocole, cette version intègre toutes les leçons des 18 derniers mois. Nick Cooper, mainteneur principal, l’exprime plus précisément : MCP a un an et demi et absorbe les expériences de décennies de conception de protocoles web pour devenir un protocole plus mature.
Deuxième point : la véritable signification de cette mise à jour réside dans la gouvernance, et non dans la technologie.
La timeline mérite d'être vérifiée à nouveau. Le 25 novembre 2024, Anthropic a open-sourcé MCP. Le 9 décembre 2025, MCP a été doné à la nouvelle Agentic AI Foundation, sous la fondation Linux, un fonds dédié lancé conjointement par Anthropic, Block et OpenAI, avec le soutien de Google, Microsoft, AWS, Cloudflare et Bloomberg. Huit mois plus tard, la première version majeure a été publiée.
Un protocole inventé par un seul fabricant, qui a accompli sa plus douloureuse intervention chirurgicale après avoir été remis, plutôt que de s'enliser dans un impasse comité après remise. Cela constitue en soi une validation de l'efficacité de la gouvernance ouverte.
La liste des plateformes de l'écosystème révèle également un changement de priorité. Figma parle de la convergence entre conception et code, Intuit vise à livrer une expérience financière intelligente et fiable à cent millions de consommateurs et d'entreprises, Zoom s'attache à intégrer en toute sécurité l'intelligence des réunions dans les plateformes IA. Ce ne sont pas des langages de jouets pour développeurs, mais des langages de lignes de produits.
Troisième point, et celui que je pense le plus important à dire : la maturité du protocole a un coût, ce coût s'appelle « ne pas réagir ».
Stateless, routable, cacheable, traceable. W3C Trace Context is now passed via fixed key names in _meta, providing out-of-the-box OpenTelemetry-compatible distributed tracing. You’ve seen these terms throughout the evolution of HTTP, REST, and gRPC.
MCP devient un canal que vous ne mentionnerez pas. Comme personne ne discute de la passion du TCP d'aujourd'hui.
Est-ce une bonne chose ? Je le pense. La victoire au niveau des données n'a jamais appartenu à la conception la plus impressionnante, mais à celle la plus résistante. Au moment où la session a été supprimée, MCP a renoncé à une partie de son élégance pour acquérir la capacité de s'étendre horizontalement derrière un équilibrage de charge par sondage.
La mise à l'échelle des agents ne se heurte pas à la question de la sophistication du modèle. Ce qui bloque, ce sont les sujets que personne ne veut aborder : où stocker les conversations, comment hériter des identités, si les tâches persistent après une déconnexion, et combien de clics sur le bouton d'autorisation sont nécessaires pour connecter dix mille employés à mille serveurs.
Cette version avance considérablement ces quelques points.
En ce qui concerne l'excitation, le tuyau n'est pas chargé de fournir de l'excitation. Il ne s'occupe que de ne pas fuir quand tu ne le regardes pas.
Source de citation
- Blog du Model Context Protocol, « La spécification du 2026-07-28 », 28 juillet 2026. https://blog.modelcontextprotocol.io/posts/2026-07-28/
- Blog du Model Context Protocol, « Authorization gérée par l'entreprise : OAuth sans intervention pour MCP », 2026. https://blog.modelcontextprotocol.io/posts/enterprise-managed-auth/
- Claude par Anthropic, « Bringing MCP 2026-07-28 to Claude », 2026 年 7 月 28 日. https://claude.com/blog/bringing-mcp-2026-07-28-to-claude
- Blog des serveurs MCP, « La spécification MCP du 2026-07-28 : Un avenir sans état et extensible », 2026. https://blog.mcpservers.org/posts/mcp-spec-2026-07-28
- Linux Foundation, « Linux Foundation annonce la création de l'Agentic AI Foundation », 9 décembre 2025. https://linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation
- Anthropic, « Don du Model Context Protocol et création de la Agentic AI Foundation », décembre 2025. https://anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation
- Cisco, « State of AI Security 2026 », 2026. https://blogs.cisco.com/ai/cisco-state-of-ai-security-2026-report
- IT之家, La plus grande mise à jour depuis son lancement : publication de la spécification MCP 2026-07-28, passage à un noyau « sans état » », 29 juillet 2026. https://www.ithome.com/0/983/102.htm
