Anthropic kündigte kürzlich eine wichtige technologische Innovation in seinem Modellkontextprotokoll (MCP) an und startete das neue "streamable HTTP" -Getriebeprotokoll. Diese innovative Lösung wird die Remote -Datenübertragungsmethode von MCP vollständig ändern. Das neue Protokoll löst nicht nur die wichtigsten Einschränkungen der vorhandenen HTTP+SSE -Lösung, sondern behält auch die ursprünglichen technologischen Vorteile von MCP bei, wodurch die Kommunikation zwischen KI -Modellen und Anwendungen einen revolutionären Durchbruch erzielt.
Aus der Sicht der technischen Architektur ist dieses Update eine umfassende Rekonstruktion des MCP -Datenübertragungsmechanismus. Das neue Protokoll verwendet ein flexiblereres, einfacher und kompatibleres Designkonzept. Im Vergleich zu den langen SSE -Verbindungen, die online aufbewahrt werden mussten, ermöglicht die neue Lösung Kunden, Nachrichten zu senden und jederzeit auf Antwort zu warten. Diese Methode ähnlich wie gewöhnliche HTTP -Anforderungen, unterstützt jedoch das Streaming erheblich die Flexibilität und Verwendbarkeit des Systems.
Dieses Technologie -Update enthält hauptsächlich fünf Kernverbesserungen: Erstens wurde der dedizierte /SSE -Endpunkt entfernt, wodurch die Serverarchitektur vereinfacht wurde. Zweitens werden alle Nachrichten von Clients zum Server über einen Unified /Message -Endpunkt übertragen, wodurch die Standardisierung der Schnittstelle realisiert wird. Drittens kann der Server HTTP -Anforderungen dynamisch auf SSE -Streams entsprechend den tatsächlichen Bedürfnissen aktualisieren und eine größere Flexibilität bieten. Viertens stellt der Client die MCP-Sitzung über den Header zur Verfügung, sodass der Server Sitzungsinformationen flexibler verwalten kann. Schließlich unterstützt es einen vollständig staatenlosen Server -Betriebsmodus und verbessert die Skalierbarkeit des Systems erheblich.
Der Hauptgrund für die Förderung dieser technologischen Innovation ist, dass in den vorhandenen HTTP+SSE -Übertragungslösungen viele technische Engpässe vorhanden sind: Die mangelnde Wiederherstellungsfunktion nach dem Trennen der Verbindung ist, was dazu führt, dass der Kunde die gesamte Sitzung neu starten muss. Der Server muss eine hohe Verfügbarkeit beibehalten, um kontinuierliche SSE -Verbindungen zu unterstützen. und SSE unterstützt nur eine Einweg-Kommunikation, die keine flexible Zwei-Wege-Dateninteraktion erreichen kann. Die neue "streamable HTTP" -Getriebetmethode löste diese Probleme erfolgreich und verbesserte die Gesamtleistung und Skalierbarkeit des Systems erheblich.
Für Entwickler bringt dieses Update viele Annehmlichkeiten mit: Es ist einfacher, einen MCP -Server zu implementieren, und nur ein normaler HTTP -Server kann MCP unterstützen. Sie müssen keinen dedizierten SSE -Server mehr erstellen. Es ist einfacher, auf Cloud -Plattformen wie Vercel, Cloudflare, AWS Lambda usw. bereitzustellen, die keine langen Verbindungen unterstützen. Die Kompatibilität wurde stark verbessert, und die neue Lösung kann als Standard -HTTP nahtlos in CDN, API -Gateway und Lastausgleich integriert werden. Es hat die Skalierbarkeit erheblich verbessert, unterstützt den Vorgangsmodus und kann bei Bedarf dynamisch auf SSE aktualisiert werden.
In Bezug auf die Infrastruktur und die Serverarchitektur bringt die neue Lösung auch revolutionäre Änderungen mit: Vorstandselerver werden ermöglicht, und Server müssen keine kontinuierlichen Speichern von Client -Sitzungen speichern. Sie eignen sich besser für Microservice -Architekturen und können sich problemlos in REST -API, GRAFQL, LAD -Ausgleich, CDN und andere Systeme integrieren. Die Server -Ressourcenauslastung ist höher und Ressourcen können nach Bearbeitungsanforderungen veröffentlicht werden, was für hohe Parallelitätsszenarien geeignet ist.
Es ist erwähnenswert, dass Anthropic trotz der vielen Probleme mit SSE nicht als Alternative ausgewählt hat. Dies basiert hauptsächlich auf den folgenden technischen Überlegungen: WebSocket muss lange Verbindungen aufrechterhalten, während MCP hauptsächlich einen RPC-ähnlichen Modus annimmt, und jede Anfrage wird unabhängig ausgeführt. WebSocket kann keine HTTP -Header -Informationen übertragen, was dazu führt, dass der Authentifizierungsprozess kompliziert wird. WebSocket unterstützt nur Get -Upgrades als Post, was mit den Postanfragen, die hauptsächlich von MCP verwendet wurden, unvereinbar ist. Daher wurde schließlich beschlossen, weiterhin HTTP zu verwenden, dem Server jedoch die Möglichkeit zu geben, nach Bedarf auf SSE zu aktualisieren, anstatt SSE oder Websocket zu erzwingen.
Insgesamt macht dieses Update MCP leichter und flexibler, und der Server kann unabhängig entscheiden, ob Streaming unterstützt werden soll. Der Bereitstellungsprozess ist erheblich vereinfacht und für serverlose Architektur geeignet. Die Kompatibilität ist erheblich verbessert und kann nahtlos mit verschiedenen Netzwerkinfrastrukturen zusammenarbeiten. Die Serverressourcenauslastungsrate ist höher und unterstützt größere Anforderungen an die gleichzeitige.
Diese innovative Veränderung macht MCP-Server einfacher, effizienter und flexibler, in der Lage, verteilte Bereitstellungen größerer Maßstäbe zu unterstützen, die die Grenzen der SSE vollständig abzubrechen und ein neues Kapitel für die Kommunikation zwischen KI-Modellen und Anwendungen zu eröffnen. Projektadresse: https://github.com/modelcontextProtocol/specification/pull/206