Wat er op 28 juli is uitgebracht

Het Model Context Protocol bracht op 28 juli zijn vijfde specificatie uit, en het is de grootste wijziging sinds het protocol begon. De kern is nu stateless. De onderhandeling tussen initialize en initialized vervalt, de Mcp-Session-Id-kop wordt afgevoerd, en elk verzoek draagt in plaats daarvan de protocolversie, de identiteit van de client en diens mogelijkheden in een _meta-veld. Het praktische gevolg is dat een eenvoudige round-robin-loadbalancer volstaat: elke instantie kan elk verzoek bedienen en er valt geen gedeelde sessieopslag meer te beheren.

Uit dat besluit volgen nog meer onderdelen. Multi Round-Trip Requests vervangen de door de server gestarte aanroepen die tot nu toe een openstaande stroom nodig hadden: in plaats van een verzoek door een open kanaal te duwen, geeft de server een resultaattype input_required terug en herhaalt de client de oorspronkelijke aanroep met de antwoorden erbij. Streamable HTTP-verzoeken dragen nu de koppen Mcp-Method en Mcp-Name, zodat een gateway of een snelheidsbegrenzer kan routeren en meten zonder de JSON-inhoud te ontleden. Lijstresultaten van gereedschappen, prompts en bronnen dragen een levensduur en een cachebereik. Tasks en MCP Apps verhuizen naar een formeel uitbreidingsraamwerk in plaats van in de kern te zitten.

De cijfers over gebruik verklaren waarom dit verder reikt dan de mensen die servers schrijven. De SDK's van rang 1 voor TypeScript, Python, Go en C sharp naderen samen 500 miljoen downloads per maand, en de pakketten voor TypeScript en Python zijn elk de miljard totale downloads gepasseerd. David Soria Parra, een van de leidende onderhouders, noemde het de belangrijkste uitgave sinds remote MCP ruim een jaar geleden begon. Heeft uw bedrijf de afgelopen achttien maanden een product gekocht dat een assistent aan uw systemen koppelt, dan ligt deze specificatie eronder, of iemand u de naam nu heeft genoemd of niet.

Het schrappen van Sampling verplaatst een inferentierekening

De lijst met verouderde onderdelen leest als een schoonmaak: Roots, Sampling en Logging, alle met een venster van twaalf maanden. Twee daarvan zijn werkelijk bijzaak. Roots wordt mappen- en bestandspaden die als parameter van een gereedschap worden meegegeven of in de serverconfiguratie worden vastgelegd. Logging verhuist naar de standaardfoutuitvoer of naar OpenTelemetry, waar de meeste beheerders het toch al wilden hebben. Sampling is een ander geval, en wel op een manier die een begroting raakt in plaats van een codebasis.

Sampling was het mechanisme waarmee een MCP-server de client kon vragen namens de server een modelantwoord uit te voeren. De server had uitvoer van een taalmodel nodig maar hoefde geen inloggegevens te bewaren, want de client deed de inferentie en de client betaalde die. Dat is een echte commerciële verdeling, uitgedrukt als protocolfunctie. De gepubliceerde migratierichtlijn voor servers die Sampling kwijtraken luidt om vanaf de serverkant rechtstreeks te koppelen aan de koppelvlakken van een modelaanbieder. Gelezen als beheerder is het gevolg helder: wie de server draait heeft voortaan een eigen account bij de aanbieder nodig, een eigen sleutel en een eigen begrotingspost.

Welke kant het geld op beweegt hangt af van de stoel waarop u zit. Draait u MCP-servers voor uw eigen personeel tegen de client van een leverancier, dan landt er inferentie op uw rekening die u eerder niet betaalde, en bij een middelgrote installatie is dat een nieuwe maandelijkse verplichting van vier cijfers in euro en geen afrondingsfout. Gebruikt u de MCP-server van een leverancier, reken dan op een prijsherziening, want een kostenpost die eerder naar uw client werd geduwd wordt nu die van de leverancier zelf. Niets daarvan wordt in de release notes aangekondigd. Beide staan binnen een jaar op een factuur.

Stateless verplaatste de toestand, het wiste die niet

Het commentaar van leveranciers rond deze uitgave gaat eensgezind over schaal, en het komt van de bedrijven die er het meest bij winnen wanneer servers gemakkelijk te hosten zijn: aanbieders van cloud en rand die het protocol routeerbaar, cachebaar en wereldwijd schaalbaar noemen, en platformbedrijven die het einde van sessiebeheer verwelkomen. Dat klopt allemaal. Het loslaten van de binding van elke sessie aan dezelfde instantie verwijdert een storingsklasse waarbij een onderbroken stroom het hele gesprek vernietigde, en het laat een server draaien op serverloze infrastructuur die nooit een sessie open had kunnen houden.

Wat niemand van hen zegt, is dat de toestand niet verdampt is. Alles wat werkelijk tussen aanroepen door moet blijven bestaan, moet nu uitdrukkelijk worden weergegeven: de server geeft een kenmerk uit - dat van een winkelwagen, een token, een verwijzing naar een werkproces - en geeft dat terug in een resultaat zodat de client het opnieuw meestuurt. Dat is een degelijk ontwerp, maar het verandert een onzichtbare protocolaangelegenheid in een zichtbaar deel van uw gereedschapscontracten. Iemand moet beslissen wat die kenmerken betekenen, hoe lang zij gelden en wat er gebeurt wanneer een client een verlopen exemplaar opnieuw instuurt. Dat werk is niet met de sessiekop verdwenen. Het is naar uw schema's verhuisd, waar uw team het goed moet doen.

Zet 28 juli 2027 in de planning

De bepalende regel is dat alles wat als verouderd is gemarkeerd minstens twaalf maanden blijft werken. Daarmee is 28 juli 2027 de vroegste datum waarop Roots, Sampling, Logging, de dynamische clientregistratie of het oude transport over HTTP en SSE werkelijk kunnen verdwijnen, en de enige datum in deze uitgave die in een routekaart hoort. Er breekt deze week niets. De wijzigingen rond autorisatie zijn desondanks het eerst te lezen: autorisatieservers moeten nu een uitgeverparameter teruggeven en clients moeten die valideren voordat zij een code inwisselen, clientinloggegevens zijn gebonden aan de server die ze uitgaf, en de dynamische clientregistratie maakt plaats voor Client ID Metadata Documents.

Voor een Europese onderneming is het onderdeel om vroeg op te handelen Enterprise Managed Authorization, dat als uitbreiding arriveert en beheerders in staat stelt toegang tot MCP-servers centraal toe te kennen via een identiteitsaanbieder. Tot nu toe kwam autorisatie in MCP-installaties vaak als laatste aan bod, en juist daarom liepen zo veel interne agentprojecten vast bij de veiligheidstoets. Is dat bij u ook gebeurd, dan is de reden van dat vastlopen nu in de specificatie geadresseerd, en de eerlijke volgende stap is uw leveranciers te vragen wanneer zij de uitbreiding ondersteunen in plaats van af te wachten tot men het u vertelt.