Samenvatting (audio)
Geen audio-samenvatting voor deze les.
Studienotities
Studieopmerkingen: Streamable HTTP Transport (MCP)
**1. Probleemstelling**
- Behoefte: MCP-functionaliteit (zoals sampling, notificaties en logging) vereist dat de server een aanvraag naar de client stuurt.
- Belemmering: Standaard HTTP is primair een request-response protocol en maakt het moeilijk voor de server om initiatief te nemen (server → client).
**2. De Oplossing: Streamable HTTP Transport**
- Dit transport biedt een workaround om de server-naar-client communicatie mogelijk te maken.
- MCP Session ID: Tijdens de initiële connectie stuurt de server een MCP Session ID (een unieke identificatiecode) terug in de HTTP-responsheader.
- Verplichting: De client moet dit Session ID opnemen in alle daaropvolgende aanvragen aan de server.
**3. Mechanisme: Server → Client Communicatie (De Workaround)**
- Stap 1 (Initialisatie): Na de initiële connectie maakt de client een GET-aanvraag naar de MCP-server, inclusief het Session ID.
- Stap 2 (SSE): De server reageert met een Server-Sent Events (SSE) respons.
- Functie SSE: Dit is een lang levende verbinding die de server toestaat om op elk moment kleine stukjes informatie (berichten) naar de client te streamen.
- Doel: Deze lang levende SSE-verbinding is de sleutel tot het sturen van server-geïnitieerde requests (zoals sampling of logging) naar de client.
**4. Mechanisme: Tool Calling Flow (Client → Server)**
- Aanvraag: De client stuurt een tool-call aanvraag (met het Session ID).
- Twee SSE-verbindingen:
- SSE 1 (Lang levend): De oorspronkelijke SSE-verbinding blijft open en wordt gebruikt voor algemene server-naar-client berichten (bijv. progress notifications).
- SSE 2 (Tijdelijk): De server opent een tweede SSE-respons specifiek voor de tool-call.
- Afhandeling van Berichten:
- Progress notifications worden gestreamd via SSE 1.
- Logging en de uiteindelijke tool-call resultaten worden gestreamd via SSE 2.
- Afsluiting: SSE 2 wordt automatisch gesloten zodra het tool-call resultaat is verzonden.
**5. Belangrijke Aandachtspunten**
- De complexiteit van dit transport komt doordat de workaround (SSE) kan worden verbroken door bepaalde vlaginstellingen op 'true' te zetten.
- Het Session ID is specifiek voor de streamable HTTP transport en wordt niet
Takeaways
- Standaard HTTP is een request-response protocol, maar MCP vereist server-naar-client communicatie (server → client), wat wordt opgelost met Streamable HTTP Transport.
- De server stuurt een uniek MCP Session ID terug in de initiële HTTP-responsheader; de client moet dit ID opnemen in alle volgende aanvragen.
- Server-Sent Events (SSE) vormen de kern van de oplossing door een lang levende verbinding te creëren, waardoor de server berichten (zoals logging of sampling) kan streamen.
- Bij Tool Calling worden twee SSE-verbindingen gebruikt: één voor algemene progress notifications en een tweede voor specifieke tool-call resultaten en logging.
Flashcards 7 kaarten
Vraag
klik om te onthullen · ←/→
Antwoord
klik om terug te draaien
Kenniscontrole 0 vragen
No quiz for this lesson yet.