O exemplo anterior mostra como usar um projeto .NET local com o tipo stdio. E como executar o servidor localmente em um contêiner. Essa é uma boa solução em muitas situações. No entanto, pode ser útil ter o servidor rodando remotamente, como em um ambiente de nuvem. É aí que o tipo http entra em cena.
Olhando para a solução na pasta 04-PracticalImplementation, ela pode parecer muito mais complexa do que a anterior. Mas, na verdade, não é. Se você olhar de perto o projeto src/Calculator, verá que é basicamente o mesmo código do exemplo anterior. A única diferença é que estamos usando uma biblioteca diferente, ModelContextProtocol.AspNetCore, para lidar com as requisições HTTP. E alteramos o método IsPrime para torná-lo privado, só para mostrar que você pode ter métodos privados no seu código. O resto do código é igual ao anterior.
Os outros projetos são do .NET Aspire. Ter o .NET Aspire na solução melhora a experiência do desenvolvedor durante o desenvolvimento e testes, além de ajudar na observabilidade. Não é obrigatório para rodar o servidor, mas é uma boa prática tê-lo na sua solução.
-
No VS Code (com a extensão C# DevKit), navegue até o diretório
04-PracticalImplementation/samples/csharp. -
Execute o seguinte comando para iniciar o servidor:
dotnet watch run --project ./src/AppHost
-
Quando um navegador abrir o dashboard do .NET Aspire, anote a URL
http. Deve ser algo comohttp://localhost:5058/.
Se você tem Node.js 22.7.5 ou superior, pode usar o MCP Inspector para testar seu servidor.
Inicie o servidor e execute o seguinte comando em um terminal:
npx @modelcontextprotocol/inspector http://localhost:5058- Selecione
Streamable HTTPcomo tipo de transporte. - No campo Url, insira a URL do servidor anotada anteriormente e acrescente
/mcp. Deve serhttp(nãohttps), algo comohttp://localhost:5058/mcp. - Clique no botão Connect.
Uma coisa legal do Inspector é que ele oferece uma boa visibilidade do que está acontecendo.
- Tente listar as ferramentas disponíveis
- Experimente algumas delas, deve funcionar como antes.
Para usar o transporte Streamable HTTP com o GitHub Copilot Chat, altere a configuração do servidor calc-mcp criado anteriormente para ficar assim:
Faça alguns testes:
- Peça "3 números primos após 6780". Note como o Copilot usará as novas ferramentas
NextFivePrimeNumberse retornará apenas os 3 primeiros números primos. - Peça "7 números primos após 111", para ver o que acontece.
- Pergunte "John tem 24 pirulitos e quer distribuir todos para seus 3 filhos. Quantos pirulitos cada filho recebe?", para ver o que acontece.
Vamos fazer o deploy do servidor no Azure para que mais pessoas possam usá-lo.
No terminal, navegue até a pasta 04-PracticalImplementation/samples/csharp e execute o seguinte comando:
azd upQuando o deploy terminar, você deverá ver uma mensagem assim:
Pegue a URL e use-a no MCP Inspector e no GitHub Copilot Chat.
// .vscode/mcp.json
{
"servers": {
"calc-mcp": {
"type": "http",
"url": "https://calc-mcp.gentleriver-3977fbcf.australiaeast.azurecontainerapps.io/mcp"
}
}
}Testamos diferentes tipos de transporte e ferramentas de teste. Também fizemos o deploy do seu servidor MCP no Azure. Mas e se nosso servidor precisar acessar recursos privados? Por exemplo, um banco de dados ou uma API privada? No próximo capítulo, veremos como podemos melhorar a segurança do nosso servidor.
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.


