Agora que sabemos um pouco mais sobre SSE, vamos construir um servidor SSE a seguir.
Para criar nosso servidor, precisamos ter duas coisas em mente:
- Precisamos usar um servidor web para expor endpoints para conexão e mensagens.
- Construir nosso servidor como normalmente fazemos com ferramentas, recursos e prompts quando estávamos usando stdio.
Para criar nosso servidor, usamos os mesmos tipos que com stdio. No entanto, para o transporte, precisamos escolher SSE.
Vamos adicionar as rotas necessárias a seguir.
Vamos adicionar as rotas que lidam com a conexão e as mensagens recebidas:
Vamos adicionar capacidades ao servidor a seguir.
Agora que definimos tudo específico do SSE, vamos adicionar capacidades ao servidor como ferramentas, prompts e recursos.
Seu código completo deve ficar assim:
Ótimo, temos um servidor usando SSE, vamos testá-lo a seguir.
O Inspector é uma ótima ferramenta que vimos em uma lição anterior Criando seu primeiro servidor. Vamos ver se podemos usar o Inspector aqui também:
Para executar o inspector, você primeiro deve ter um servidor SSE rodando, então vamos fazer isso a seguir:
-
Execute o servidor
-
Execute o inspector
![NOTE] Execute isso em uma janela de terminal separada da que o servidor está rodando. Também note que você precisa ajustar o comando abaixo para o URL onde seu servidor está rodando.
npx @modelcontextprotocol/inspector --cli http://localhost:8000/sse --method tools/list
Executar o inspector é igual em todos os ambientes de execução. Note como, ao invés de passar um caminho para o servidor e um comando para iniciar o servidor, passamos o URL onde o servidor está rodando e também especificamos a rota /sse.
Conecte ao servidor selecionando SSE na lista suspensa e preencha o campo URL onde seu servidor está rodando, por exemplo http:localhost:4321/sse. Agora clique no botão "Connect". Como antes, selecione listar ferramentas, escolha uma ferramenta e forneça os valores de entrada. Você deverá ver um resultado como o abaixo:
Ótimo, você conseguiu trabalhar com o inspector, vamos ver como trabalhar com o Visual Studio Code a seguir.
Tente ampliar seu servidor com mais capacidades. Veja esta página para, por exemplo, adicionar uma ferramenta que chama uma API. Você decide como o servidor deve ser. Divirta-se :)
Solution Aqui está uma solução possível com código funcionando.
As principais lições deste capítulo são as seguintes:
- SSE é o segundo tipo de transporte suportado, além do stdio.
- Para suportar SSE, você precisa gerenciar conexões e mensagens recebidas usando um framework web.
- Você pode usar tanto o Inspector quanto o Visual Studio Code para consumir um servidor SSE, assim como servidores stdio. Note como há algumas diferenças entre stdio e SSE. Para SSE, você precisa iniciar o servidor separadamente e depois rodar sua ferramenta inspector. Para a ferramenta inspector, também há diferenças no fato de que você precisa especificar o URL.
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
