MCP-Transporte: stdio, Streamable HTTP und SSE
Jede MCP-Verbindung überträgt dieselben Nachrichten - JSON-RPC-2.0-Anfragen, -Antworten und -Benachrichtigungen -, doch sie können auf unterschiedlichen Wegen übertragen werden. Die Spezifikation nennt diese Wege Transporte, und der Registry-Eintrag eines Servers gibt an, welche er unterstützt.
- Server über Streamable HTTP
- 16.864
- Server über stdio (lokaler Prozess)
- 13.123
- Server über SSE (HTTP + Server-Sent Events)
- 515
stdio: ein Programm auf Ihrem Computer
Bei stdio startet der Client den Server als Kindprozess auf demselben Computer. Der Client schreibt Nachrichten in die Standardeingabe des Servers und liest Antworten aus dessen Standardausgabe, eine JSON-RPC-Nachricht pro Zeile; der Server kann Logs in die Standardfehlerausgabe schreiben. Wenn der Client die Verbindung schließt, endet der Prozess.
Nichts lauscht an einem Netzwerkport, es gibt also keine URL zu schützen - doch das Programm läuft mit den eigenen Berechtigungen der Nutzerin oder des Nutzers und kann alles lesen, was diese Person lesen kann. stdio-Server werden aus Paketen installiert: npm, PyPI, Container-Images, MCP Bundles und andere.
Streamable HTTP: ein Endpunkt im Web
Streamable HTTP wurde mit der Revision der Spezifikation vom 2025-03-26 eingeführt und verwendet einen einzigen HTTPS-Endpunkt, etwa https://example.com/mcp. Der Client sendet jede Nachricht mit einem HTTP-POST. Der Server antwortet entweder mit einer einzelnen JSON-Antwort oder öffnet einen Stream von Server-Sent Events, über den er vor dem Endergebnis mehrere Nachrichten senden kann - zum Beispiel Fortschrittsmeldungen. Der Client kann außerdem einen GET-Stream öffnen, um Nachrichten zu empfangen, die der Server von sich aus sendet.
Ein Server kann eine Sitzung vergeben, benannt in einem Mcp-Session-Id-Header, den der Client bei späteren Anfragen zurücksendet. Da es sich um gewöhnliches HTTPS handelt, funktioniert es mit standardmäßiger Anmeldung - die Spezifikation zur MCP-Autorisierung baut auf OAuth auf - und mit gewöhnlicher Web-Infrastruktur.
SSE: der ältere HTTP-Transport
Die erste veröffentlichte Revision (2024-11-05) definierte einen HTTP-Transport auf Basis von Server-Sent Events: Der Client öffnet eine langlebige GET-Verbindung für den Event-Stream, das erste Event des Servers nennt eine zweite URL, und der Client sendet seine eigenen Nachrichten per POST dorthin. Die Revision 2025-03-26 ersetzte ihn durch Streamable HTTP; Clients und Server können ihn aus Gründen der Abwärtskompatibilität weiter unterstützen, weshalb manche Server beide angeben.
Welchen Transport ein Server verwendet
Ein gehosteter Dienst, den viele Menschen aus vielen Assistenten erreichen, bietet normalerweise Streamable HTTP an, den Transport, den das Protokoll inzwischen für Remote-Server empfiehlt. Ein Tool, das auf lokale Dateien oder Anwendungen zugreifen muss, verwendet stdio. Ein Server kann beides anbieten: Sein Registry-Eintrag nennt dann einen Remote-Endpunkt und ein Paket, und seine Seite hier zeigt beides.
MCP-Server nach Transport · Remote oder lokal? · Verzeichnis durchsuchen →
Mehr: Was ist ein MCP-Server? · Was ist llms.txt? · Wie KI-Assistenten Reisen finden und buchen · Wie Einträge geprüft werden · Remote oder lokal: welcher MCP-Server sich eignet · So fügen Sie einem KI-Assistenten einen MCP-Server hinzu · Was ist die offizielle MCP Registry? · Was in eine llms.txt-Datei gehört · OpenAPI für KI-Agenten · Wie KI-Assistenten Reiseverfügbarkeit finden · Bevor Sie einen MCP-Server verbinden: eine Checkliste