De grootste revisie van het Model Context Protocol sinds de lancering is aangekondigd: op 28 juli 2026 wordt specificatie 2026-07-28 definitief. De kern: MCP wordt stateless. Sessies en de initialize-handshake verdwijnen, en daarmee ook de infrastructuur-hoofdpijn van sticky sessions. Bouw of beheer jij een MCP-server? Dan wil je deze wijzigingen nu alvast doorlopen — het is een breaking release.
Wat verandert er precies?
De release candidate ligt sinds 21 mei 2026 vast; de definitieve publicatie volgt op 28 juli (Bron: MCP-blog). De belangrijkste ingrepen:
- De protocol-sessie verdwijnt. De
Mcp-Session-Id-header en deinitialize/initialized-handshake zijn geschrapt. Protocolversie, client-info en capabilities reizen voortaan mee in_metaop elk verzoek; een nieuweserver/discover-methode vervangt de handshake voor wie capabilities vooraf wil opvragen. - Verplichte routing-headers. Streamable HTTP vereist voortaan
Mcp-Method- enMcp-Name-headers, zodat load balancers en gateways kunnen routeren zonder de request-body te lezen. - Caching wordt formeel. List- en resource-antwoorden krijgen
ttlMsencacheScope, naar het model van HTTP Cache-Control. - Extensies worden eerste-klas, met MCP Apps (server-gerenderde UI’s) en Tasks (langlopend werk) als eerste twee officiële extensies.
- Deprecations: roots, sampling en logging zijn deprecated, maar blijven minstens twaalf maanden werken onder het nieuwe lifecycle-beleid.
Stap 1: check waar je server state bewaart
Zoek in je codebase naar alles wat aan Mcp-Session-Id of de initialize-fase hangt. Bewaar je per sessie context (een winkelwagen, een browsersessie, een lopende analyse), dan is het nieuwe patroon: geef een expliciete handle terug uit een tool (bijvoorbeeld basket_id) en laat het model die als gewoon argument meesturen bij vervolgcalls. De protocol-laag beheert je state niet meer; jij wel, zichtbaar voor het model.
Stap 2: maak elk verzoek self-contained
Controleer dat je server een los binnenkomend verzoek volledig kan afhandelen zonder eerdere requests. Concreet: lees client-info uit _meta in plaats van uit een opgeslagen handshake, accepteer dat elk verzoek op een andere instantie kan landen, en verwerk de nieuwe Mcp-Method/Mcp-Name-headers — je server moet verzoeken weigeren waar header en body niet overeenkomen.
Stap 3: migreer Tasks en foutcodes
Gebruikte je het experimentele Tasks uit 2025-11-25? De nieuwe Tasks-extensie werkt anders: de server beslist wanneer een call als taak draait en de client stuurt met tasks/get, tasks/update en tasks/cancel; tasks/list bestaat niet meer. Kleiner maar venijnig: de foutcode voor een ontbrekende resource verandert van -32002 naar de JSON-RPC-standaard -32602. Matcht je client op het oude nummer, pas dat aan.
Stap 4: versimpel je infrastructuur
Dit is de beloning. Een remote MCP-server die eerst sticky sessions en een gedeelde session-store nodig had, draait straks achter een gewone round-robin load balancer. Clients mogen tools/list cachen zolang jouw ttlMs het toelaat. Draai je op serverless infrastructuur, dan past MCP daar nu zonder kunstgrepen op.
⚡ Gevorderden: de autorisatie is ook aangescherpt richting OAuth 2.0/OIDC-praktijk: clients moeten de
iss-parameter valideren (RFC 9207) en declareren hunapplication_typebij Dynamic Client Registration. Bouw je een remote server met auth, lees die zes SEP’s apart door.
Werk je vooral mét MCP-tools in plaats van eraan? Dan hoef je weinig te doen: clients zoals Claude, Cursor en VS Code volgen via hun SDK-updates. Voor de bredere context over waar agents en tool-integraties heen bewegen is ons overzicht van AI-agents in 2026 op hetlaatsteainieuws.nl een goed startpunt. En wie MCP praktisch wil proberen: onze gidsen Claude aan WordPress koppelen via MCP en Gemini Spark aan Canva koppelen laten zien hoe het er aan de gebruikskant uitziet.
Checklist: ben je klaar?
- Geen afhankelijkheid meer van
Mcp-Session-Idof de initialize-handshake - State omgebouwd naar expliciete handles als tool-argumenten
- Client-info en protocolversie gelezen uit
_metaper verzoek -
Mcp-Method/Mcp-Name-headers verwerkt én gevalideerd tegen de body - Experimentele Tasks gemigreerd naar de Tasks-extensie
- Foutcode
-32002vervangen door-32602 - Deprecated features (roots, sampling, logging) op de migratielijst gezet
- SDK-versie in de gaten: Tier 1-SDK’s leveren support vóór 28 juli 2026
