Calculator MCP Server
Сервер калькулятора MCP
Минимальный сервер MCP, предоставляющий четыре инструмента —
add, subtract, multiply, divide — в двух вариантах:
calculator_server.py— создан с помощью Python SDKmcp(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.txtRelated 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:
STDIOCommand:
C:\Users\simon\mcpserversample\.venv\Scripts\python.exeArguments:
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)— чтобы вызвать нужный и получить результат.
This server cannot be deployed
Maintenance
Related MCP Connectors
Math.js MCP — wraps the mathjs.org API (free, no auth)
Math MCP server for primality, factorization, Java templates, and integer multiplication.
518.PLUS: MCP tool marketplace. Run tools on files, text or JSON, share results, publish your own.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA 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.-
- FlicenseAqualityCmaintenanceProvides four fundamental arithmetic operations (add, subtract, multiply, divide) as MCP tools with zero-division protection.4-
- FlicenseNot gradedqualityCmaintenanceEnables arithmetic operations such as addition and calculating averages, exposing tools via MCP with stdio and Streamable HTTP transports.-
- FlicenseAqualityCmaintenanceEnables 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-