# Пример MCP-сервера на Python: калькулятор

> Пример MCP-сервера на Python: калькулятор на FastMCP с инструментом calculate, код server.py и настройка подключения к клиенту

Страница: https://mcpdoc.ru/examples/calculator/
Указатель сайта: https://mcpdoc.ru/llms.txt

## Python реализация

```python title="server.py"
from mcp.server.fastmcp import FastMCP
from enum import Enum

mcp = FastMCP("calculator")

class Operation(Enum):
    ADD = "add"
    SUBTRACT = "subtract"
    MULTIPLY = "multiply"
    DIVIDE = "divide"

@mcp.tool()
def calculate(operation: Operation, a: float, b: float) -> float:
    """Выполняет математическую операцию"""
    match operation:
        case Operation.ADD:
            return a + b
        case Operation.SUBTRACT:
            return a - b
        case Operation.MULTIPLY:
            return a * b
        case Operation.DIVIDE:
            if b == 0:
                raise ValueError("Деление на ноль")
            return a / b

@mcp.tool()
def sqrt(n: float) -> float:
    """Квадратный корень"""
    if n < 0:
        raise ValueError("Отрицательное число")
    return n ** 0.5

@mcp.tool()
def power(base: float, exp: float) -> float:
    """Возведение в степень"""
    return base ** exp

if __name__ == "__main__":
    mcp.run()
```

## Конфигурация

```json title="claude_desktop_config.json"
{
  "mcpServers": {
    "calculator": {
      "command": "python",
      "args": ["server.py"]
    }
  }
}
```
