Predchádzajúci príklad ukazuje, ako používať lokálny .NET projekt s typom stdio. A ako spustiť server lokálne v kontajneri. Toto je dobré riešenie v mnohých situáciách. Avšak, môže byť užitočné mať server bežiaci na diaľku, napríklad v cloudovom prostredí. Práve tu prichádza na rad typ http.
Ak sa pozriete na riešenie v priečinku 04-PracticalImplementation, môže vyzerať oveľa zložitejšie ako predchádzajúce. Ale v skutočnosti to tak nie je. Ak sa pozorne pozriete na projekt src/Calculator, uvidíte, že ide väčšinou o rovnaký kód ako v predchádzajúcom príklade. Jediný rozdiel je, že používame inú knižnicu ModelContextProtocol.AspNetCore na spracovanie HTTP požiadaviek. A meníme metódu IsPrime na súkromnú, len aby sme ukázali, že v kóde môžete mať súkromné metódy. Zvyšok kódu je rovnaký ako predtým.
Ostatné projekty sú z .NET Aspire. Mať .NET Aspire v riešení zlepší skúsenosť vývojára počas vývoja a testovania a pomôže s observabilitou. Nie je to nevyhnutné pre spustenie servera, ale je to dobrá prax mať ho vo svojom riešení.
-
Vo VS Code (s rozšírením C# DevKit) prejdite do priečinka
04-PracticalImplementation/samples/csharp. -
Spustite nasledujúci príkaz na spustenie servera:
dotnet watch run --project ./src/AppHost
-
Keď webový prehliadač otvorí dashboard .NET Aspire, všimnite si URL adresu
http. Mala by vyzerať nejako takto:http://localhost:5058/.
Ak máte Node.js verzie 22.7.5 alebo novšej, môžete použiť MCP Inspector na otestovanie svojho servera.
Spustite server a v termináli zadajte nasledujúci príkaz:
npx @modelcontextprotocol/inspector http://localhost:5058- Vyberte
Streamable HTTPas the Transport type. - In the Url field, enter the URL of the server noted earlier, and append
/mcp. Malo by to byťhttp(niehttps) something likehttp://localhost:5058/mcp. - select the Connect button.
A nice thing about the Inspector is that it provide a nice visibility on what is happening.
- Try listing the available tools
- Try some of them, it should works just like before.
To use the Streamable HTTP transport with GitHub Copilot Chat, change the configuration of the calc-mcp server vytvorený predtým, aby vyzeral takto:
Vykonajte niekoľko testov:
- Požiadajte o „3 prvočísla po 6780“. Všimnite si, ako Copilot použije nové nástroje
NextFivePrimeNumbersa vráti len prvé 3 prvočísla. - Požiadajte o „7 prvočísel po 111“, aby ste videli, čo sa stane.
- Požiadajte o „John má 24 lízaniek a chce ich rozdať všetkým svojim 3 deťom. Koľko lízaniek dostane každé dieťa?“, aby ste videli, čo sa stane.
Nasadíme server do Azure, aby ho mohlo používať viac ľudí.
V termináli prejdite do priečinka 04-PracticalImplementation/samples/csharp a spustite nasledujúci príkaz:
azd upPo dokončení nasadenia by ste mali vidieť správu ako táto:
Skopírujte URL a použite ju v MCP Inspectore a v GitHub Copilot Chate.
// .vscode/mcp.json
{
"servers": {
"calc-mcp": {
"type": "http",
"url": "https://calc-mcp.gentleriver-3977fbcf.australiaeast.azurecontainerapps.io/mcp"
}
}
}Vyskúšame rôzne typy transportov a testovacie nástroje. Tiež nasadíme váš MCP server do Azure. Ale čo ak náš server potrebuje prístup k súkromným zdrojom? Napríklad databáze alebo súkromnému API? V ďalšej kapitole uvidíme, ako môžeme zlepšiť bezpečnosť nášho servera.
Vyhlásenie o zodpovednosti:
Tento dokument bol preložený pomocou AI prekladateľskej služby Co-op Translator. Aj keď sa snažíme o presnosť, majte prosím na pamäti, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nezodpovedáme za akékoľvek nedorozumenia alebo nesprávne výklady vyplývajúce z použitia tohto prekladu.


