Ora che sappiamo qualcosa in più su SSE, costruiamo un server SSE.
Per creare il nostro server, dobbiamo tenere a mente due cose:
- Dobbiamo usare un web server per esporre gli endpoint per la connessione e i messaggi.
- Costruire il nostro server come facciamo normalmente con strumenti, risorse e prompt quando usavamo stdio.
Per creare il nostro server, usiamo gli stessi tipi usati con stdio. Tuttavia, per il trasporto, dobbiamo scegliere SSE.
Aggiungiamo ora le rotte necessarie.
Aggiungiamo le rotte che gestiscono la connessione e i messaggi in arrivo:
Aggiungiamo ora le funzionalità al server.
Ora che abbiamo definito tutto ciò che riguarda SSE, aggiungiamo funzionalità al server come strumenti, prompt e risorse.
Il codice completo dovrebbe apparire così:
Ottimo, abbiamo un server che usa SSE, proviamolo subito.
Inspector è un ottimo strumento che abbiamo visto in una lezione precedente Creare il tuo primo server. Vediamo se possiamo usare Inspector anche qui:
Per avviare l'inspector, devi prima avere un server SSE in esecuzione, quindi facciamolo subito:
-
Avvia il server
-
Avvia l'inspector
![NOTE] Esegui questo in una finestra del terminale separata rispetto a quella in cui gira il server. Nota inoltre che devi adattare il comando sottostante per riflettere l'URL dove il tuo server è in esecuzione.
npx @modelcontextprotocol/inspector --cli http://localhost:8000/sse --method tools/list
L'esecuzione dell'inspector è uguale in tutti gli ambienti di runtime. Nota come, invece di passare un percorso al nostro server e un comando per avviarlo, passiamo l'URL dove il server è attivo e specifichiamo anche la rotta /sse.
Connetti il server selezionando SSE nel menu a tendina e inserisci l'URL dove il tuo server è in esecuzione, per esempio http:localhost:4321/sse. Ora clicca sul pulsante "Connect". Come prima, seleziona la lista degli strumenti, scegli uno strumento e fornisci i valori di input. Dovresti vedere un risultato simile a questo:
Ottimo, riesci a lavorare con l'inspector, vediamo ora come lavorare con Visual Studio Code.
Prova a sviluppare il tuo server con più funzionalità. Consulta questa pagina per esempio per aggiungere uno strumento che chiama un'API. Decidi tu come dovrebbe essere il server. Divertiti :)
Soluzione Ecco una possibile soluzione con codice funzionante.
I punti chiave di questo capitolo sono:
- SSE è il secondo tipo di trasporto supportato dopo stdio.
- Per supportare SSE, devi gestire le connessioni in arrivo e i messaggi usando un framework web.
- Puoi usare sia Inspector che Visual Studio Code per consumare un server SSE, proprio come per i server stdio. Nota come ci siano alcune differenze tra stdio e SSE. Per SSE, devi avviare il server separatamente e poi eseguire lo strumento inspector. Per lo strumento inspector, c’è anche la differenza che devi specificare l’URL.
- Calcolatrice Java
- Calcolatrice .Net
- Calcolatrice JavaScript
- Calcolatrice TypeScript
- Calcolatrice Python
- Prossimo: HTTP Streaming con MCP (HTTP streamable)
Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Pur impegnandoci per garantire l’accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua madre deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non ci assumiamo alcuna responsabilità per eventuali incomprensioni o interpretazioni errate derivanti dall’uso di questa traduzione.
