MCP-Spec 2026-07-28: Was Server-Entwickler ändern müssen
Die MCP-Spec vom 28. Juli 2026 streicht Sitzungen und den initialize-Handshake und ergänzt server/discover. Das ist neu und was Sie zuerst prüfen sollten.
Das Model Context Protocol hat seine Revision 2026-07-28 am 28. Juli 2026 als stabile Version veröffentlicht. Die große Änderung: Es gibt keine Sitzungen und keinen initialize-Handshake mehr. Jede Anfrage steht jetzt für sich. Wenn Sie einen MCP-Server oder -Client pflegen, planen Sie Zeit zum Testen gegen diese Version ein.
Diese Zusammenfassung folgt dem offiziellen Changelog im Spezifikations-Repository, das die Änderungen seit der Revision 2025-11-25 auflistet. Lesen Sie den vollständigen Text, bevor Sie Code ändern.
Was hat sich am Protokoll geändert?
- Sitzungen sind weg. Streamable HTTP kennt keine Sitzungen auf Protokollebene mehr und auch nicht den Header
Mcp-Session-Id. Ein Server, der Zustand über mehrere Aufrufe braucht, vergibt sein eigenes Handle, und der Client übergibt es als normales Tool-Argument. - Kein Handshake. Der
initialize-Austausch entfällt. Jede Anfrage trägt die Protokollversion und die Client-Fähigkeiten in_meta. Passt die Version nicht, kommtUnsupportedProtocolVersionErrorzurück. server/discover. Ein neuer Aufruf, den Server implementieren müssen. Er meldet unterstützte Versionen, Fähigkeiten und Identität.subscriptions/listen. Eine langlebige Antwort-Stream trägt jetzt die Änderungsmeldungen. Sie ersetzt den alten GET-Endpunkt sowie die Aufrufe subscribe und unsubscribe.- Entfernte Aufrufe.
ping,logging/setLevelundnotifications/roots/list_changedsind raus. Die Log-Stufe reist jetzt mit jeder Anfrage mit. - Resumable SSE ist weg. Bricht ein Stream ab, stellt der Client die Anfrage mit einer neuen ID erneut.
Was ist veraltet?
Roots, Sampling und Logging funktionieren während eines Übergangszeitraums weiter. Der Changelog sagt aber, dass neue Implementierungen sie nicht mehr einbauen sollten. Der alte HTTP+SSE-Transport gilt zugunsten von Streamable HTTP als veraltet. Die OAuth Dynamic Client Registration ist als Registrierungsweg zugunsten von Client ID Metadata Documents veraltet. Die neue Lebenszyklus-Regel für Funktionen setzt eine Übergangsfrist von mindestens zwölf Monaten.
Was sollten Sie noch prüfen?
- Tasks wurden aus dem Kern in eine Erweiterung verschoben. Das Ergebnis holen Sie per Polling über
tasks/get, statt zu blockieren, bis es fertig ist. - Vom Server ausgelöste Anfragen wie Sampling und Elicitation folgen jetzt einem Muster mit mehreren Runden: Der Server antwortet mit einem Ergebnis
input_required, und der Client wiederholt die Anfrage mit seinen Antworten. - Jedes Ergebnis braucht
resultType, entweder"complete"oder"input_required". Clients sollten ältere Server, die das Feld weglassen, alscompletebehandeln. - Cache-Hinweise (
ttlMsundcacheScope) sind bei Listen- und Lese-Ergebnissen Pflicht. - Streamable-HTTP-POSTs müssen die Header
Mcp-MethodundMcp-Nameenthalten. - Fehlercodes haben sich verschoben. Eine nicht gefundene Ressource liefert jetzt
-32602, und mehrere MCP-Codes wurden in den Bereich-32020bis-32099umnummeriert.
Was sollten Sie diese Woche tun?
- Lesen Sie den Changelog von vorne bis hinten und notieren Sie, welche Punkte Ihren Server betreffen.
- Wenn Sie etwas pro Sitzung speichern, bauen Sie es um auf Handles, die als Argumente übergeben werden.
- Ergänzen Sie
server/discoverund testen Sie die Versionsaushandlung gegen einen Client auf der alten Revision. - Fügen Sie in neuer Arbeit keine Roots, kein Sampling und kein Logging mehr hinzu.
- Lassen Sie Ihre alte Revision laufen, bis Ihre Clients umgestellt sind.
Wenn Sie entscheiden, wie Sie die Modelle hosten, die Ihre Agenten aufrufen, lesen Sie unseren Leitfaden zum Betrieb eines lokalen LLM-Servers und stöbern Sie im Hub AI-Agenten & Infrastruktur. Welcher Ihrer Server speichert heute Zustand in einer Sitzung?