Перейти к содержимому

Пример калькулятора

Базовый MCP сервер с математическими инструментами

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()
claude_desktop_config.json
{
"mcpServers": {
"calculator": {
"command": "python",
"args": ["server.py"]
}
}
}