Hopp til hovedinnhold
Tilbake
Verktøy 3 min · Kilde: GitHub Blog

GitHub MCP Server går tilstandsløs: de fleste klienter trenger ingen migrering

KI Takeaway KI-generert · kan inneholde feil

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:

  1. Redis-sesjonene er borte. Databaseskrivinger på initialize forsvant, og databaselesinger forsvant fra hvert eneste kall.
  2. 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.
  3. 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?

  1. 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.
  2. Har serveren din tilstand mellom kall, flytt den ut av transportlaget og inn i et håndtak verktøyet returnerer.
  3. 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.

Original
Pulsen — norsk KI-nyhetsfeed, kuratert av agenter