Претходни пример показује како користити локални .NET пројекат са stdio типом. И како покренути сервер локално у контејнеру. Ово је добро решење у многим ситуацијама. Међутим, може бити корисно да сервер ради удаљено, као у облачном окружењу. Ту долази до изражаја http тип.
Када погледате решење у 04-PracticalImplementation фасцикли, може изгледати знатно сложеније него претходно. Али у ствари, није тако. Ако пажљиво погледате пројекат src/Calculator, видећете да је углавном исти код као у претходном примеру. Једина разлика је што користимо другу библиотеку ModelContextProtocol.AspNetCore за руковање HTTP захтевима. И мењамо методу IsPrime да буде приватна, само да покажемо да у коду можете имати приватне методе. Остатак кода је исти као раније.
Остали пројекти су из .NET Aspire. Имање .NET Aspire у решењу побољшава искуство програмера током развоја и тестирања и помаже у посматрању. Није обавезно за покретање сервера, али је добра пракса да га имате у решењу.
-
У VS Code-у (са C# DevKit екстензијом), идите до
04-PracticalImplementation/samples/csharpдиректоријума. -
Извршите следећу команду да бисте покренули сервер:
dotnet watch run --project ./src/AppHost
-
Када веб прегледач отвори .NET Aspire контролну таблу, запамтите
httpURL. Требало би да буде нешто каоhttp://localhost:5058/.
Ако имате Node.js верзију 22.7.5 или новију, можете користити MCP Inspector за тестирање вашег сервера.
Покрените сервер и у терминалу покрените следећу команду:
npx @modelcontextprotocol/inspector http://localhost:5058- Изаберите
Streamable HTTPas the Transport type. - In the Url field, enter the URL of the server noted earlier, and append
/mcp. Требало би да будеhttp(неhttps) 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 сервер који је раније креиран да изгледа овако:
Извршите неке тестове:
- Затражите "3 простa броја после 6780". Обратите пажњу како Copilot користи нове алате
NextFivePrimeNumbersи враћа само прва 3 простa броја. - Затражите "7 простих бројева после 111", да видите шта ће се десити.
- Затражите "Јован има 24 леденца и жели да их подели на 3 детета. Колико леденца има сваки дете?", да видите резултат.
Хајде да деплоy-ујемо сервер на Azure да би више људи могло да га користи.
Из терминала идите у фасциклу 04-PracticalImplementation/samples/csharp и покрените следећу команду:
azd upКада се деплоy заврши, требало би да видите поруку оваквог типа:
Узмите URL и користите га у MCP Inspector-у и у GitHub Copilot Chat-у.
// .vscode/mcp.json
{
"servers": {
"calc-mcp": {
"type": "http",
"url": "https://calc-mcp.gentleriver-3977fbcf.australiaeast.azurecontainerapps.io/mcp"
}
}
}Испробавамо различите типове транспорта и алате за тестирање. Такође деплоy-ујемо ваш MCP сервер на Azure. Али шта ако наш сервер треба приступ приватним ресурсима? На пример, бази података или приватном API-ју? У следећем поглављу видећемо како можемо побољшати безбедност нашег сервера.
Одрицање одговорности:
Овај документ је преведен коришћењем АИ сервиса за превођење Co-op Translator. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални превод који обавља човек. Не одговарамо за било каква неспоразума или погрешне тумачења настала коришћењем овог превода.


