Skip to main content
Glama
leesdream

Calculator MCP Server

by leesdream

Сервер калькулятора MCP

Минимальный сервер MCP, предоставляющий четыре инструмента — add, subtract, multiply, divide — в двух вариантах:

  • calculator_server.py — создан с помощью Python SDK mcp (FastMCP). Декоратор @mcp.tool() автоматически формирует JSON-схему из аннотаций типов и docstring и обрабатывает протокол JSON-RPC за вас.

  • calculator_server_raw.py — тот же сервер, реализованный с нуля только на стандартной библиотеке (json + sys), без зависимости от mcp. Он вручную обрабатывает сообщения JSON-RPC 2.0, чтобы показать, что именно делает FastMCP «под капотом»: читает запросы JSON-RPC из stdin (по одному объекту на строку), диспетчеризует по method (initialize, tools/list, tools/call, ping), пишет ответ JSON-RPC в stdout. Подробности оформления см. в docstring в начале файла (без заголовков в стиле LSP — просто один JSON-объект на строку).

Установка

python -m venv .venv
.venv\Scripts\pip install -r requirements.txt

Related MCP server: Math MCP Server

Запуск напрямую (stdio)

MCP-серверы общаются через stdio (или HTTP), а не как обычный CLI — вы не «запускаете и смотрите вывод», к серверу подключается клиент. Два способа попробовать:

1. MCP Inspector (визуальный, интерактивный) — требуется Node.js/npx:

.venv\Scripts\mcp dev calculator_server.py

Откроется браузерный интерфейс, где можно вызывать add, multiply и т.д. вручную.

Если страница загружается, но пишет «Connect to an MCP server to start inspecting» и нет вкладки Tools — значит, боковая панель не подхватила команду автоматически (такое бывает, если осталась старая/кэшированная конфигурация сессии). Заполните боковую панель вручную и нажмите Connect:

  • Transport Type: STDIO

  • Command: C:\Users\simon\mcpserversample\.venv\Scripts\python.exe

  • Arguments: C:\Users\simon\mcpserversample\calculator_server.py

После подключения в верхней навигации появится вкладка Tools, где можно нажать «List Tools» и запускать каждый инструмент.

2. test_client.py — скрипт-клиент из этого репозитория: он подключается, получает список инструментов и вызывает каждый из них. По умолчанию используется calculator_server.py, но можно передать путь, чтобы протестировать другой вариант:

.venv\Scripts\python test_client.py
.venv\Scripts\python test_client.py calculator_server_raw.py

Подключение к Claude Desktop

Добавьте в claude_desktop_config.json:

{
  "mcpServers": {
    "calculator": {
      "command": "C:\\Users\\simon\\mcpserversample\\.venv\\Scripts\\python.exe",
      "args": ["C:\\Users\\simon\\mcpserversample\\calculator_server.py"]
    }
  }
}

Как это работает

  • calculator_server.py создаёт сервер FastMCP и регистрирует каждую Python-функцию как инструмент через декоратор @mcp.tool(). Аннотации типов и docstring функции становятся JSON-схемой и описанием инструмента — именно это видит вызывающий клиент (Claude, Inspector или test_client.py).

  • mcp.run() запускает сервер, который слушает stdin/stdout, используя stdio-транспорт MCP — стандартный способ, которым клиент запускает локальный MCP-сервер и общается с ним как с подпроцессом.

  • Клиент подключается, вызывает list_tools(), чтобы узнать доступные инструменты, затем call_tool(name, args) — чтобы вызвать нужный и получить результат.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A demonstration MCP server that provides calculator functionality through both stdio and FastAPI implementations. Enables users to perform mathematical calculations via MCP tools using the FastMCP framework.
    -
  • F
    license
    A
    quality
    C
    maintenance
    Provides four fundamental arithmetic operations (add, subtract, multiply, divide) as MCP tools with zero-division protection.
    4
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables arithmetic operations such as addition and calculating averages, exposing tools via MCP with stdio and Streamable HTTP transports.
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables AI agents to perform arithmetic operations — addition, subtraction, multiplication, and division with divide-by-zero validation — through MCP tool calls. It can be run locally over stdio or as an HTTP microservice via streamable-http transport.
    4
    -