Das MCP-Protokoll-Team hat am 28. Juli 2026 eine neue Version veröffentlicht, die die Sitzung auf Protokollebene abschafft und jede Anfrage zustandslos (stateless) macht. Wenn Sie MCP-Clients, -Server oder -Agents betreiben, müssen Sie Code umschreiben, der von einer persistenten Session-ID ausgeht – andernfalls riskieren Sie fehlerhaftes Routing, Cache-Misses und unkontrollierte Hintergrundprozesse.
Warum der Wechsel wichtig ist
MCP erforderte früher einen Handshake, der eine Session-ID erzeugte. Nachgelagerte Dienste verließen sich auf diese ID, um davon auszugehen, dass eine Reihe von Anfragen denselben Prozess erreicht, um Load Balancern das Sticky Routing zu ermöglichen und um sessionspezifische Daten im Arbeitsspeicher zu speichern. Das Juli-Release ersetzt dieses Modell durch einen reinen Request-Response-Flow. Ein Server kann nun hinzugefügt oder entfernt werden, ohne dass man sich um verlorene Sessions sorgen muss. Das Protokoll bewahrt den Kontext nicht mehr; die Anwendung muss dies tun.
Teams, die am alten, sessionszentrierten Code festhalten, werden erleben, wie Anfragen an die falsche Instanz geleitet werden, Caches nicht greifen und Hintergrundjobs sich ansammeln. Teams, die das zustandslose Muster übernehmen, können MCP hinter Non-Sticky-Load-Balancern betreiben und eine präzisere Observability über die gesamte Anfragekette hinweg erhalten.
Was sich wirklich unterscheidet
- Protokoll-Lebenszyklus – Der Handshake und die Session-ID fallen weg. Jede Anfrage muss alle Informationen enthalten, die der Server benötigt; es gibt keine Garantie, dass eine Folgeanfrage denselben Prozess erreicht.
- HTTP-Routing – Gateways lesen nun zwei neue Header,
Mcp-MethodundMcp-Name, um zu entscheiden, wohin eine Anfrage weitergeleitet wird. Das Routing über Session-Cookies funktioniert nicht mehr. - Caching – Die Spezifikation fügt
ttlMs(Time-to-Live in Millisekunden) undcacheScope-Felder für Lesezugriffe hinzu. Sie entscheiden, ob veraltete Daten akzeptabel sind, und konfigurieren den Cache entsprechend. - Observability – Ein
_meta-Block erwartet nun ein W3C Trace Context-Payload, wodurch Tracing-Systeme Edge-Gateways, Tooling und Backend-Arbeiten zu einem einzigen End-to-End-Trace zusammenführen können. - Komposition – Erweiterungen werden formalisiert; neue Funktionen können hinzugefügt werden, ohne die Kernspezifikation zu ändern, was eine Plug-in-ähnliche Architektur fördert.
- Langlaufende Aufgaben – Ein einfacher Request/Response reicht nicht mehr für Aufgaben aus, die Minuten oder Stunden dauern. Das Protokoll definiert nun ein
Task-Objekt für asynchrone Arbeit, inklusive Lebenszyklus-Steuerungen.
Risiken im Legacy-Code
Ein kurzer Audit deckt oft Muster auf, die von Zustandsbehaftung (Statefulness) ausgehen:
- In-Memory-Maps, die über Session-IDs geschlüsselt sind.
- Load Balancer, die für Sticky Sessions konfiguriert sind.
- Startup-Routinen, die sessionspezifische Daten in den lokalen Speicher vorladen.
- Bereinigungslogik, die Geschäftsdaten löscht, wenn eine Session endet.
Wenn eines dieser Muster die Migration übersteht, wird das System unter Last Daten verlieren oder Ressourcen lecken.
Eine konkrete Migrations-Checkliste
1. Aktuelle Annahmen inventarisieren
Erstellen Sie eine Übersicht über alle Stellen, an denen Ihr Code eine Session-ID, eine Sticky-Routing-Regel oder einen prozesslokalen Cache verwendet. Dokumentieren Sie, welche Komponenten auf was angewiesen sind.
2. Identität explizit machen
Fügen Sie Tenant-IDs, Run-IDs und User-IDs jedem Request-Payload oder Header hinzu. Behandeln Sie diese Identifikatoren als „Source of Truth“ für die Autorisierung und Datenpartitionierung.
3. Routing-Konfiguration aktualisieren
Ersetzen Sie sessionsbasiertes Routing durch Regeln, die Mcp-Method und Mcp-Name lesen. Testen Sie die neue Gateway-Logik mit einem minimalen Zwei-Instanzen-Deployment hinter einem Non-Sticky-Load-Balancer.
4. Caching-Logik refaktorieren
Wechseln Sie zu den neuen Feldern ttlMs und cacheScope. Führen Sie Performance-Tests durch, um zu sehen, wie sich verschiedene TTL-Werte auf die Hit-Raten und die Anforderungen an die Aktualität auswirken.
End-to-End-Tracing aktivieren: Befüllen Sie den _meta-Block mit einem W3C Trace Context-Header. Verifizieren Sie, dass die Traces nun ohne Lücken vom Edge-Gateway durch Ihre Backend-Dienste fließen.
Das Task-Modell für asynchrone Arbeit übernehmen: Definieren Sie, wer eine Aufgabe erstellen darf, legen Sie maximale Laufzeiten fest und erzwingen Sie Warteschlangen-Limits. Fügen Sie explizite Abbruch- und Retry-Richtlinien hinzu und schränken Sie ein, was ein Agent tun darf, während eine Aufgabe aussteht.
Überprüfen Sie die Release Notes des SDKs und der Client-Bibliotheken vor dem 28. Juli.
Führen Sie Regressionstests für Fehlerpfade durch: Testen Sie über den „Happy Path“ hinaus durch das Einschleusen fehlender Header, abgelaufener Aufgaben und fehlerhafter Cache-Direktiven. Bestätigen Sie, dass das System kontrolliert reagiert (graceful degradation).
Worauf Sie als Nächstes achten sollten
Teams, die sicher migrieren, werden die Grenzbereiche testen, nicht nur den Happy Path. Jede Produktionsumgebung, die nach dem 28. Juli noch eine Session-ID erwartet, könnte bei der Interoperabilität mit den neuen MCP-Servern scheitern.
