Op 28 juli 2026 verscheen de grootste herziening sinds MCP bestaat. De sessie is weg, de initialize-handshake is weg, en de server mag jouw client niet meer uit zichzelf iets vragen. Dit is geen optionele opfrisbeurt — wie een remote MCP-server draait, moet er langs. Scan hieronder wat er in jouw geval breekt, wat over twaalf maanden verdwijnt, en wat het je oplevert.
Vier verschuivingen dragen de rest. De onderliggende beweging is telkens dezelfde: een verbinding was iets dat je onderhield, en wordt iets dat je per bericht opnieuw beschrijft.
De Mcp-Session-Id-header en de initialize/notifications/initialized-handshake zijn verdwenen. Elk verzoek draagt zijn eigen protocolversie, client-identiteit en capabilities mee in _meta. Heb je toch state nodig tussen aanroepen, dan geef je die als gewoon tool-argument door — een handle die de server zelf uitgeeft.
Server-initiated requests (roots/list, sampling/createMessage, elicitation/create) zijn vervangen door Multi Round-Trip Requests. De server antwoordt met resultType: "input_required" plus een lijst inputRequests; de client stuurt het oorspronkelijke verzoek opnieuw, nu met inputResponses erbij.
tools/list en zijn broertjes moeten nu ttlMs en cacheScope teruggeven, en de lijst mag niet meer per verbinding verschillen. Daarnaast reizen Mcp-Method- en Mcp-Name-headers mee op elke POST, zodat een gateway kan routeren zonder de JSON open te maken.
Tasks verhuisde uit de experimentele kern naar de officiële extensie io.modelcontextprotocol/tasks. Naast Tasks staan MCP Apps (interactieve HTML in een sandbox-iframe) en Enterprise-Managed Authorization in hetzelfde extensie-raamwerk. Extensies zijn altijd uit tenzij je ze aanzet.
Er zijn twee snelheden. Wat weg is, is weg zodra je op de nieuwe protocolversie overstapt. Wat deprecated is, blijft minimaal twaalf maanden werken onder het nieuwe lifecycle-beleid.
Dertien vragen over je eigen server of client. Het rapport eronder groeit mee: rood breekt bij de overstap, geel verdwijnt binnen het deprecatievenster, groen is iets dat nu pas kan. Je antwoorden blijven in deze browser.
Zes plekken waar het bericht zelf van vorm verandert. Links de oude revisie, rechts 2026-07-28.
De migratie kost werk. Dit is wat je ervoor terugkrijgt — en de twee dingen die je kwijtraakt en niet zomaar terugbouwt.
Mcp-Session-Id mag elke aanroep bij een willekeurige instantie landen. Een gewone round-robin load balancer volstaat.Mcp-Method en Mcp-Name staan in de HTTP-headers, dus je proxy hoeft de JSON-body niet te parsen om te weten waar het heen moet.ttlMs stopt de client met pollen op je tool-lijst; met cacheScope: "public" mag een tussenliggende cache het antwoord zelfs delen.tools/list — dezelfde volgorde betekent dezelfde prefix, en dus een goedkopere aanroep bij het model.Last-Event-ID en SSE-event-ID's zijn geschrapt. Breekt de stream, dan is het verzoek weg en moet de client het opnieuw sturen met een nieuw request-ID. Idempotentie is nu jouw verantwoordelijkheid.Als je nog moet beginnen: dit is de route waarbij je server het langst blijft werken.
server/discover. Dat is puur additief — oude clients merken er niets van.resultType, ttlMs en cacheScope op je results. Ook additief; velden die een oude client negeert.resources/subscribe door subscriptions/listen, en pas je auth aan op Client ID Metadata Documents.Alles op deze pagina komt uit de officiële specificatie en het bijbehorende releasebericht. Waar de spec een SEP-nummer noemt, staat de discussie in die pull request.
server/discover, en de officiële extensies Tasks, MCP Apps en Enterprise-Managed Authorization.requestState voor correlatie over pogingen heen.