Skip to content

Latest commit

 

History

History
120 lines (97 loc) · 6.64 KB

File metadata and controls

120 lines (97 loc) · 6.64 KB

Основни калкулатор MCP сервис

Овај сервис пружа основне калкулаторске операције преко Model Context Protocol (MCP). Дизајниран је као једноставан пример за почетнике који уче о MCP имплементацијама.

За више информација, погледајте C# SDK

Карактеристике

Овај калкулаторски сервис нуди следеће могућности:

  1. Основне аритметичке операције:
    • Сабирање два броја
    • Одузимање једног броја од другог
    • Множење два броја
    • Дељење једног броја са другим (са провером дељења са нулом)

Коришћење stdio типа

Конфигурација

  1. Конфигуришите MCP сервере:
    • Отворите свој радни простор у VS Code.

    • Креирајте .vscode/mcp.json фајл у фасцикли радног простора за конфигурацију MCP сервера. Пример конфигурације:

      {
        "inputs": [
          {
            "type": "promptString",
            "id": "repository-root",
            "description": "The absolute path to the repository root"
          }
        ],
        "servers": {
          "calculator-mcp-dotnet": {
            "type": "stdio",
            "command": "dotnet",
            "args": [
              "run",
              "--project",
              "${input:repository-root}/03-GettingStarted/samples/csharp/src/calculator.csproj"
            ]
          }
        }
      }
    • Бићете упитани да унесете корен GitHub репозиторијума, који можете добити командом git rev-parse --show-toplevel.

Коришћење сервиса

Сервис излаже следеће API крајње тачке преко MCP протокола:

  • add(a, b): Сабери два броја
  • subtract(a, b): Одузми други број од првог
  • multiply(a, b): Помножи два броја
  • divide(a, b): Подели први број са другим (са провером нуле)
  • isPrime(n): Провери да ли је број прост

Тестирање са Github Copilot Chat у VS Code

  1. Покушајте да пошаљете захтев сервису користећи MCP протокол. На пример, можете питати:
    • "Сабери 5 и 3"
    • "Одузми 10 од 4"
    • "Помножи 6 и 7"
    • "Подели 8 са 2"
    • "Да ли је 37854 прост број?"
    • "Која су 3 проста броја пре и после 4242?"
  2. Да бисте били сигурни да користи алате, додајте #MyCalculator у упит. На пример:
    • "Сабери 5 и 3 #MyCalculator"
    • "Одузми 10 од 4 #MyCalculator"

Верзија у контејнеру

Претходно решење је одлично ако имате инсталиран .NET SDK и све зависности су на месту. Међутим, ако желите да делите решење или га покренете у другом окружењу, можете користити верзију у контејнеру.

  1. Покрените Docker и уверите се да ради.
  2. У терминалу идите у фасциклу 03-GettingStarted\samples\csharp\src
  3. Да бисте направили Docker слику за калкулатор сервис, извршите следећу команду (замените <YOUR-DOCKER-USERNAME> својим Docker Hub корисничким именом):
    docker build -t <YOUR-DOCKER-USERNAME>/mcp-calculator .
  4. Након што је слика направљена, отпремите је на Docker Hub. Покрените следећу команду:
     docker push <YOUR-DOCKER-USERNAME>/mcp-calculator

## Коришћење Docker верзије

1. У `.vscode/mcp.json` фајлу замените конфигурацију сервера следећом:
 ```json
  "mcp-calc": {
    "command": "docker",
    "args": [
      "run",
      "--rm",
      "-i",
      "<YOUR-DOCKER-USERNAME>/mcp-calc"
    ],
    "envFile": "",
    "env": {}
  }

Погледом на конфигурацију видите да је команда docker, а аргументи су run --rm -i <YOUR-DOCKER-USERNAME>/mcp-calc. Опција --rm осигурава да се контејнер уклони након заустављања, а -i омогућава интеракцију са стандардним улазом контејнера. Последњи аргумент је име слике коју смо управо направили и отпремили на Docker Hub.

Тестирање Docker верзије

Покрените MCP сервер кликом на мали дугме Start изнад "mcp-calc": {, и као и раније, можете тражити од калкулатор сервиса да израчуна нешто за вас.

Одрицање од одговорности:
Овај документ је преведен коришћењем AI сервиса за превођење Co-op Translator. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.