Skip to content

Latest commit

 

History

History
120 lines (97 loc) · 6.99 KB

File metadata and controls

120 lines (97 loc) · 6.99 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 протокола. Например, можете да попитате:
    • "Add 5 and 3"
    • "Subtract 10 from 4"
    • "Multiply 6 and 7"
    • "Divide 8 by 2"
    • "Does 37854 prime?"
    • "What are the 3 prime numbers before after 4242?"
  2. За да сте сигурни, че използва инструментите, добавете #MyCalculator към подканата. Например:
    • "Add 5 and 3 #MyCalculator"
    • "Subtract 10 from 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. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.