Vad som kom ut den 28 juli

Model Context Protocol publicerade sin femte specifikation den 28 juli, och det är den största förändringen sedan protokollet föddes. Kärnan är nu tillståndslös. Förhandlingen mellan initialize och initialized faller bort, huvudet Mcp-Session-Id utgår, och varje begäran bär i stället protokollversionen, klientens identitet och dess förmågor i ett _meta-fält. Den praktiska följden är att en enkel round robin-lastbalanserare räcker: vilken instans som helst kan betjäna vilken begäran som helst, och det finns inte längre någon gemensam sessionslagring att driva.

Flera andra delar följer av det beslutet. Multi Round-Trip Requests ersätter de serverstartade anropen som hittills krävde en öppethållen ström: i stället för att trycka en begäran genom en öppen kanal returnerar servern resultattypen input_required, och klienten upprepar det ursprungliga anropet med svaren bifogade. Streamable HTTP-begäranden bär nu huvudena Mcp-Method och Mcp-Name, så att en gateway eller en hastighetsbegränsare kan dirigera och mäta utan att tolka JSON-kroppen. Listresultat från verktyg, uppmaningar och resurser bär en livslängd och ett cacheområde. Tasks och MCP Apps flyttar in i ett formellt utvidgningsramverk i stället för att sitta i kärnan.

Spridningssiffrorna förklarar varför detta når längre än till dem som skriver servrar. Utvecklingspaketen i nivå 1 för TypeScript, Python, Go och C sharp närmar sig tillsammans 500 miljoner nedladdningar i månaden, och paketen för TypeScript och Python har vardera passerat en miljard nedladdningar totalt. David Soria Parra, en av de ledande underhållarna, kallade det den viktigaste utgåvan sedan remote MCP startade för över ett år sedan. Har ert företag under de senaste arton månaderna köpt en produkt som kopplar en assistent till era system, ligger denna specifikation under den, oavsett om någon nämnt namnet.

Utfasningen av Sampling flyttar en inferensräkning

Listan över utfasningar läses som städning: Roots, Sampling och Logging, alla med ett fönster på tolv månader. Två av dem är verkligen småsaker. Roots blir katalog- och filsökvägar som skickas som verktygsparametrar eller sätts i serverkonfigurationen. Logging flyttar till standardfelutgången eller till OpenTelemetry, dit de flesta driftansvariga ville ha det ändå. Sampling är en annan sak, och det på ett sätt som rör en budget snarare än en kodbas.

Sampling var det medel med vilket en MCP-server kunde be klienten att köra ett modellsvar för sin räkning. Servern behövde utdata från en språkmodell men behövde inte förvara inloggningsuppgifter, eftersom klienten utförde inferensen och klienten betalade för den. Det är en verklig kommersiell fördelning uttryckt som en protokollfunktion. Den publicerade migreringsvägledningen för servrar som förlorar Sampling säger att man ska integrera direkt mot en modelleverantörs gränssnitt från serversidan. Läst som driftansvarig är följden tydlig: den som driver servern behöver nu ett eget konto hos leverantören, en egen nyckel och en egen budgetpost.

Åt vilket håll pengarna rör sig beror på vilken stol ni sitter på. Driver ni MCP-servrar för egen personal mot en leverantörs klient, landar inferens på ert konto som ni inte betalade förut, och för en medelstor installation är det ett nytt månatligt åtagande på fyra siffror i euro och inte ett avrundningsfel. Använder ni en leverantörs MCP-server, räkna med en prisjustering, eftersom en kostnad som förut sköts över på er klient nu blir leverantörens egen. Inget av detta annonseras i några utgåvenoteringar. Bådadera står på en faktura inom ett år.

Tillståndslös flyttade tillståndet, den raderade det inte

Leverantörernas kommentarer kring den här utgåvan handlar samstämmigt om skala, och de kommer från de företag som vinner mest när servrar blir lätta att drifta: moln- och kantleverantörer som beskriver protokollet som dirigerbart, cachebart och globalt skalbart, och plattformsbolag som välkomnar slutet på sessionshantering. Allt detta stämmer. Att släppa bindningen av varje session till samma instans tar bort en felklass där en avbruten ström förstörde hela samtalet, och det låter en server köra på serverlös infrastruktur som aldrig hade kunnat hålla en session öppen.

Vad ingen av dem säger är att tillståndet inte avdunstade. Allt som verkligen måste bestå mellan anrop måste nu återges uttryckligen: servern utfärdar en identifierare - den för en kundvagn, en token, en referens till ett arbetsflöde - och skickar tillbaka den i ett resultat så att klienten kan sända den igen. Det är en gedigen konstruktion, men den förvandlar en osynlig protokollfråga till en synlig del av era verktygskontrakt. Någon måste avgöra vad dessa identifierare betyder, hur länge de gäller och vad som händer när en klient skickar tillbaka en föråldrad. Det arbetet försvann inte tillsammans med sessionshuvudet. Det flyttade in i era scheman, där ert lag måste få det rätt.

Sätt den 28 juli 2027 i planen

Den styrande regeln är att allt som märkts som utfasat förblir funktionsdugligt i minst tolv månader. Det gör den 28 juli 2027 till det tidigaste datumet då Roots, Sampling, Logging, den dynamiska klientregistreringen eller den gamla transporten över HTTP och SSE verkligen kan tas bort, och det är det enda datumet i denna utgåva som förtjänar att stå i en färdplan. Inget går sönder den här veckan. Ändringarna kring behörighet är ändå de som bör läsas först: behörighetsservrar måste nu returnera en utfärdarparameter och klienter måste validera den innan de löser in en kod, klientuppgifter är bundna till den server som utfärdade dem, och den dynamiska klientregistreringen får ge vika för Client ID Metadata Documents.

För en europeisk verksamhet är den del som lönar sig att agera tidigt på Enterprise Managed Authorization, som kommer som en utvidgning och låter administrationen tilldela åtkomst till MCP-servrar centralt genom en identitetsleverantör. Hittills har behörighet i MCP-installationer ofta kommit sist av allt, och just därför har så många interna agentprojekt kört fast vid säkerhetsgranskningen. Är ert ett av dem är orsaken till stoppet nu adresserad i specifikationen, och det ärliga nästa steget är att fråga era leverantörer när de stöder utvidgningen i stället för att vänta på att få det berättat.