GitHub MCP Server går tilstandsløs: de fleste klienter trenger ingen migrering
Droppet GitHub både Redis-sesjoner og initialize-kallet i MCP-serveren sin, men fordi de offisielle SDK-ene beholdt bakoverkompatibiliteten trenger de fleste klienter ikke å migrere.
Den største protokollendringen i MCP siden lanseringen kostet GitHub tre kodeendringer, og de fleste klienter null. I en changelog-oppføring 23. juli skriver GitHub at MCP-serveren deres allerede støtter spesifikasjonsrevisjonen 2026-07-28, og at du ikke trenger å gjøre noe så lenge du bruker et av de offisielle tier 1-SDK-ene.
Revisjonen fjerner initialize-utvekslingen og Mcp-Session-Id-headeren helt. Hver forespørsel bærer nå sin egen protokollversjon, klientidentitet og klientkapabiliteter i _meta, slik at et kall kan lande på hvilken som helst serverinstans bak en helt vanlig round-robin-lastbalanserer uten delt lagring. Vil en klient vite hva serveren kan før den gjør noe annet, finnes det et nytt kall, server/discover, men det er ikke påkrevd.
«Hovedpunktet i denne utgivelsen er en tilstandsløs protokollkjerne: MCP går fra å være en toveis, tilstandsfull protokoll til en tilstandsløs forespørsel/svar-protokoll.» — MCP-teamet, spesifikasjonsbloggen 28. juli
GitHub beskriver tre endringer i sin egen server:
- Redis-sesjonene er borte. Databaseskrivinger på initialize forsvant, og databaselesinger forsvant fra hvert eneste kall.
- Serveren slipper dyp pakkeinspeksjon. Verdiene GitHub trenger til logging og hemmelighetsskanning leses nå fra HTTP-headere som garantert er til stede, i stedet for at nyttelasten i hver forespørsel måtte åpnes før SDK-et fikk se den.
- Elicitation er bygget om. Stdio-serveren bruker URL-elicitation til innlogging, og i den nye protokollen er hvert steg en egen HTTP-forespørsel. Go-SDK-et leverer en wrapper som får både gamle og nye klienter til å virke.
«Siden alle tier 1-SDK-ene har bevart bakoverkompatibilitet og alle allerede har sendt betastøtte, trenger du ikke gjøre noe for å opprettholde støtten.» — GitHub, changelog 23. juli
At protokollen er tilstandsløs betyr ikke at applikasjonen din må være det. MCP-teamet anbefaler at et verktøy returnerer et eksplisitt håndtak som modellen sender tilbake som argument ved neste kall, framfor tilstand skjult i transportlaget. Begrunnelsen er praktisk: modellen kan se håndtaket og tre det videre selv.
Revisjonen kom også med offisielle konformanstester. GitHub kaller dem et løft for alle nivåer av SDK-ene, fordi KI-assistert utvikling blir langt lettere å verifisere når det finnes streng validering å kjøre mot. Dynamisk klientregistrering er samtidig formelt utfaset til fordel for CIMD, men fortsetter å virke inntil videre.
Hva bør du gjøre?
- Undersøk om koden din leser Mcp-Session-Id eller antar at initialize har kjørt. Gjør den det, er det den eneste reelle migreringen du står overfor.
- Har serveren din tilstand mellom kall, flytt den ut av transportlaget og inn i et håndtak verktøyet returnerer.
- Kjør konformanstestene i CI før du oppgraderer SDK-et, så du ser hvilke antakelser som brister.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.