Logo Accura
Accura
Retour à l'accueil

Spécification du protocole

Spec MCP 2026-07-28 : les sept changements, et ce qu'il faut faire

Publiée le
2026-07-28
Révision précédente
2025-11-25

Cette page est un point de repère technique, pas une page de vente. Elle liste ce qui change entre la révision 2025-11-25 et la révision 2026-07-28, ce que ça casse concrètement dans un serveur existant, et ce qu'il faut reprendre. Les numéros de SEP sont là pour que vous puissiez tout vérifier à la source.

Les sept changements en un coup d'œil

Le détail, changement par changement

Le serveur ne garde plus rien entre deux appels

SEP-2575SEP-2567
Ce qui casse
Aujourd'hui votre serveur ouvre une session au premier contact et s'en sert pour retenir qui parle et où il en est. Cette session disparaît.
Ce qu'on fait
Chaque outil devient autonome et reçoit tout ce dont il a besoin à chaque appel. C'est le poste le plus lourd de la migration, et le seul qui touche vraiment votre architecture.

Avant

const sessions = new Map<string, AuthContext>();// The handshake seeds everything that follows.onInitialize((req) => {  const id = randomUUID();  sessions.set(id, authFrom(req));  return { sessionId: id };});tool("list_forms", (args, ctx) =>  listForms(sessions.get(ctx.sessionId)));

Après

// No handshake, no session map, no Mcp-Session-Id.// Each handler resolves its own auth, and paging// state travels as an explicit argument.tool("list_forms", ({ cursor }, req) =>  listForms(authFrom(req), cursor));

Deux informations deviennent obligatoires dans chaque requête

SEP-2243
Ce qui casse
Le serveur doit les exiger, et refuser les requêtes qui se contredisent.
Ce qu'on fait
On vérifie toute la chaîne réseau. Un pare-feu ou un proxy qui supprime ces en-têtes casse le serveur en silence, et le symptôme ressemble à un bug côté client. C'est la panne la plus chère à diagnostiquer quand on ne l'a jamais vue.

Le serveur ne peut plus parler quand on ne lui demande rien

SEP-2260SEP-2322
Ce qui casse
Les barres de progression et les notifications envoyées en continu pendant un traitement s'arrêtent.
Ce qu'on fait
L'outil pose sa question, rend la main, et le client revient avec la réponse. Vos parcours interactifs sont à repenser plutôt qu'à recopier.

Avant

// Pushing on the long-lived GET channel.tool("import_listings", async (args, ctx) => {  for (const row of args.rows) {    await ctx.notify({ progress: row.index });  }  return { imported: args.rows.length };});

Après

// The server cannot push outside an active// request. Ask, return, let the client come back.tool("import_listings", (args) => {  if (!args.confirmed) {    return InputRequiredResult({      prompt: "Import 412 listings?",    });  }  return { imported: args.rows.length };});// The client replies with inputResponses.

Un code d'erreur change de numéro

SEP-2164
Ce qui casse
Ressource introuvable passe de -32002 à -32602.
Ce qu'on fait
On remonte tous les tests qui comparent ce numéro en dur. C'est la ligne la plus discrète de la mise à jour, et celle qui casse le plus silencieusement vos tests et vos clients maison.

Avant

if (!form) {  throw new McpError(-32002, "Form not found");}

Après

if (!form) {  throw new McpError(-32602, "Form not found");}

Les tâches longues sortent du socle

SEP-2663
Ce qui casse
Tasks devient une extension à part, avec ses propres règles.
Ce qu'on fait
On rebranche sur l'extension, ou on retire la dépendance. Beaucoup de serveurs déclarent Tasks sans jamais s'en servir, et c'est l'occasion de s'en apercevoir.

L'authentification devient plus stricte

RFC 9207RFC 9728
Ce qui casse
Le serveur doit contrôler davantage de choses sur les jetons qu'il reçoit, et publier ses informations de connexion au format exact attendu.
Ce qu'on fait
On reprend la configuration OAuth de bout en bout. L'ancienne façon d'enregistrer les clients est dépréciée : elle fonctionne encore, elle partira.

Quatre fonctions entrent en fin de vie

SEP-2577SEP-2596
Ce qui casse
Roots, Sampling, Logging et l'ancien transport SSE sont dépréciés.
Ce qu'on fait
Chacune a un remplaçant simple : des paramètres d'outil, un appel direct au modèle, des logs classiques, le nouveau transport. Rien d'insurmontable, mais quatre horloges qui tournent en même temps.

Ce qui ne casse pas

Aucun serveur ne s'est arrêté le 28 juillet 2026. Une date de publication n'est pas un interrupteur, et un serveur écrit pour la révision 2025-11-25 continue de répondre normalement aujourd'hui. La politique du protocole garantit au moins 12 mois avant tout retrait effectif, donc rien de ce qui est déprécié ici ne peut disparaître avant juillet 2027. Ce qui bouge avant cette date, ce sont les revues d'annuaire et les tests de compatibilité des clients, qui se calent déjà sur la nouvelle révision.


Vous voulez savoir ce que ça donne sur votre serveur ?

L'audit compare votre serveur ligne à ligne avec cette révision, classe ce qui casse par gravité et chiffre chaque poste. 950 €, deux jours, un document écrit. Si le diagnostic est que vous n'avez rien à migrer, vous gardez le document et je ne vous vends rien d'autre.

Faire auditer mon serveur MCP
Spec MCP 2026-07-28 : les 7 changements et comment migrer