Skip to main content
Glama
leesdream

Calculator MCP Server

by leesdream

Calculator MCP Server

Ein minimaler MCP-Server, der vier Tools — add, subtract, multiply, divide — in zwei Varianten bereitstellt:

  • calculator_server.py — erstellt mit dem Python-mcp-SDK (FastMCP). @mcp.tool() leitet das JSON-Schema aus Typannotationen/Docstrings ab und übernimmt das JSON-RPC-Protokoll für dich.

  • calculator_server_raw.py — derselbe Server von Grund auf neu implementiert, nur mit der Standardbibliothek (json + sys), ohne mcp-Abhängigkeit. Er verarbeitet die JSON-RPC-2.0-Nachrichten von Hand, um zu zeigen, was FastMCP darunter tut: eine durch Zeilenumbrüche getrennte JSON-Anfrage von stdin lesen, diese je nach method (initialize, tools/list, tools/call, ping) weiterzuleiten und eine JSON-RPC-Antwort zu stdout schreiben. Details zum Framing findest du im Docstring am Anfang der Datei (keine LSP-ähnlichen Header, nur ein JSON-Objekt pro Zeile).

Einrichtung

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

Related MCP server: Math MCP Server

Direkt ausführen (stdio)

MCP-Server kommunizieren über stdio (oder HTTP), nicht über eine normale CLI — du führst nicht „aus“ und siehst Ergebnis, sondern ein Client verbindet sich. Zwei Möglichkeiten, es auszuprobieren:

1. MCP Inspector (visuell, interaktiv) — erfordert Node.js/npx:

.venv\Scripts\mcp dev calculator_server.py

Öffnet eine Browser-Oberfläche, in der du add, multiply usw. von Hand aufrufen kannst.

Wenn die Seite lädt, aber „Connect to an MCP server to start inspecting“ angezeigt und kein Tools-Tab vorhanden ist, hat die Seitenleiste den Befehl nicht automatisch übernommen (das kann passieren, wenn eine veraltete/frühere Sitzungskonfiguration zwischengespeichert ist). Fülle die Seitenleiste manuell aus und klicke auf Connect:

  • Transport Type: STDIO

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

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

Nach dem Verbinden erscheint in der oberen Navigation ein Tools-Tab, in dem du auf „List Tools“ klicken und jedes Tool ausführen kannst.

2. test_client.py — ein in diesem Repository enthaltener scriptgestützter Client, der sich verbindet, die Tools auflistet und jedes aufruft. Standardmäßig wird calculator_server.py verwendet, oder du übergibst einen Pfad, um die andere Version zu testen:

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

Einbindung in Claude Desktop

Füge in claude_desktop_config.json Folgendes hinzu:

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

So funktioniert es

  • calculator_server.py erstellt einen FastMCP-Server und registriert jede Python-Funktion über den Dekorator @mcp.tool() als Tool. Die Typannotationen und Docstrings der Funktion werden zum JSON-Schema und zur Beschreibung des Tools, was der aufrufende Client (Claude, der Inspector oder test_client.py) sieht.

  • mcp.run() startet den Server und lässt ihn über stdin/stdout mit dem MCP- Stdio-Transport lauschen — die Standardmethode, mit der ein Client einen lokalen MCP-Server als Subprozess startet und mit ihm kommuniziert.

  • Ein Client verbindet sich, ruft list_tools() auf, um die verfügbaren Tools zu ermitteln, und ruft dann call_tool(name, args) auf, um eines aufzurufen und das Ergebnis zu erhalten.

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
    -