Nu hvor vi ved lidt mere om SSE, lad os bygge en SSE-server næste gang.
For at oprette vores server skal vi huske to ting:
- Vi skal bruge en webserver til at eksponere endpoints for forbindelse og beskeder.
- Byg vores server som vi normalt gør med værktøjer, ressourcer og prompts, som vi gjorde, da vi brugte stdio.
For at oprette vores server bruger vi de samme typer som med stdio. Men til transporten skal vi vælge SSE.
Lad os tilføje de nødvendige ruter næste gang.
Lad os tilføje ruter, der håndterer forbindelsen og indkommende beskeder:
Lad os tilføje funktionaliteter til serveren nu.
Nu hvor vi har defineret alt det, der er specifikt for SSE, lad os tilføje serverfunktionaliteter som værktøjer, prompts og ressourcer.
Din fulde kode skulle se sådan ud:
Fint, vi har en server, der bruger SSE, lad os prøve den af nu.
Inspector er et fantastisk værktøj, som vi så i en tidligere lektion Opret din første server. Lad os se, om vi kan bruge Inspector her også:
For at køre inspector skal du først have en SSE-server kørende, så lad os gøre det nu:
- Kør serveren
-
Kør inspector
![NOTE] Kør dette i et separat terminalvindue end det, hvor serveren kører. Bemærk også, at du skal tilpasse nedenstående kommando, så den passer til den URL, hvor din server kører.
npx @modelcontextprotocol/inspector --cli http://localhost:8000/sse --method tools/list
Det ser ens ud at køre inspector i alle runtime-miljøer. Bemærk, hvordan vi i stedet for at angive en sti til vores server og en kommando til at starte serveren, i stedet angiver URL’en, hvor serveren kører, og vi specificerer også
/sse-ruten.
Forbind til serveren ved at vælge SSE i dropdown-menuen og udfyld url-feltet med, hvor din server kører, for eksempel http:localhost:4321/sse. Klik nu på "Connect"-knappen. Som før, vælg at liste værktøjer, vælg et værktøj og angiv inputværdier. Du skulle gerne se et resultat som nedenfor:
Fint, du kan arbejde med inspector, lad os se, hvordan vi kan arbejde med Visual Studio Code næste gang.
Prøv at udbygge din server med flere funktionaliteter. Se denne side for eksempelvis at tilføje et værktøj, der kalder et API. Du bestemmer, hvordan serveren skal se ud. Hav det sjovt :)
Løsning Her er en mulig løsning med fungerende kode.
De vigtigste pointer fra dette kapitel er:
- SSE er den anden understøttede transporttype efter stdio.
- For at understøtte SSE skal du håndtere indkommende forbindelser og beskeder ved hjælp af et webframework.
- Du kan bruge både Inspector og Visual Studio Code til at forbruge en SSE-server, ligesom med stdio-servere. Bemærk, hvordan det adskiller sig lidt mellem stdio og SSE. For SSE skal du starte serveren separat og derefter køre dit inspector-værktøj. For inspector-værktøjet er der også nogle forskelle, idet du skal angive URL’en.
Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på nøjagtighed, bedes du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets modersmål bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.
