Skip to content

Latest commit

 

History

History
121 lines (97 loc) · 5.98 KB

File metadata and controls

121 lines (97 loc) · 5.98 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.

Using the Service

The service exposes the following API endpoints through the MCP protocol:

  • add(a, b): Add two numbers together
  • subtract(a, b): Subtract the second number from the first
  • multiply(a, b): Multiply two numbers
  • divide(a, b): Divide the first number by the second (with zero check)
  • isPrime(n): Check if a number is prime

Test with Github Copilot Chat in VS Code

  1. Try making a request to the service using the MCP protocol. For example, you can ask:
    • "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. To make sure it's using the tools add #MyCalculator to the prompt. For example:
    • "Add 5 and 3 #MyCalculator"
    • "Subtract 10 from 4 #MyCalculator

Containerized Version

The previous soultion is great when you have the .NET SDK installed, and all the dependencies are in place. However, if you would like to share the solution or run it in a different environment, you can use the containerized version.

  1. Start Docker and make sure it's running.
  2. From a terminal, navigate in the folder 03-GettingStarted\samples\csharp\src
  3. To build the Docker image for the calculator service, execute the following command (replace <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 and the args are run --rm -i <YOUR-DOCKER-USERNAME>/mcp-calc. The --rm flag ensures that the container is removed after it stops, and the -i flag allows you to interact with the container's standard input. The last argument is the name of the image we just built and pushed to Docker Hub.

Test the Dockerized Version

Start the MCP Server by clicking the little Start button above "mcp-calc": {, и както преди, можете да помолите услугата калкулатор да направи някакви изчисления за вас.

Отказ от отговорност:
Този документ е преведен с помощта на AI преводаческа услуга Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или погрешни тълкувания, произтичащи от използването на този превод.