Skip to main content
Glama
leesdream

Calculator MCP Server

by leesdream

Calculator MCP Server

Un servidor MCP mínimo que expone cuatro herramientas — add, subtract, multiply, divide — en dos versiones:

  • calculator_server.py — construido con el SDK de Python mcp (FastMCP). @mcp.tool() deriva el esquema JSON a partir de las anotaciones de tipo y los docstrings, y se encarga del protocolo JSON-RPC por ti.

  • calculator_server_raw.py — el mismo servidor implementado desde cero solo con la biblioteca estándar (json + sys), sin dependencia de mcp. Implementa manualmente el manejo de mensajes JSON-RPC 2.0 para mostrar lo que FastMCP hace internamente: lee una solicitud JSON delimitada por líneas desde stdin, despacha según el method (initialize, tools/list, tools/call, ping) y escribe una respuesta JSON-RPC en stdout. Consulta el docstring al principio del archivo para los detalles del encuadre (sin cabeceras estilo LSP, solo un objeto JSON por línea).

Configuración

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

Related MCP server: Math MCP Server

Ejecútalo directamente (stdio)

Los servidores MCP se comunican a través de stdio (o HTTP), no mediante una CLI normal — no es «ejecutar y ver la salida», sino que un cliente se conecta a ellos. Hay dos formas de probarlo:

1. MCP Inspector (visual, interactivo) — requiere Node.js/npx:

.venv\Scripts\mcp dev calculator_server.py

Abre una interfaz de navegador donde puedes llamar a add, multiply, etc. manualmente.

Si la página carga pero dice «Conéctate a un servidor MCP para empezar a inspeccionar» y no hay pestaña Herramientas, el panel lateral no ha detectado el comando automáticamente (puede ocurrir si hay una configuración de sesión anterior/obsoleta en caché). Rellena el panel lateral manualmente y haz clic en Conectar:

  • Tipo de transporte: STDIO

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

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

Una vez conectado, aparece una pestaña Herramientas en la navegación superior donde puedes hacer clic en «Listar herramientas» y ejecutar cada una.

2. test_client.py — un cliente de script incluido en este repositorio que se conecta, lista las herramientas y llama a cada una. Por defecto usa calculator_server.py, o pasa una ruta para probar la otra versión:

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

Integrarlo en Claude Desktop

Añádelo a claude_desktop_config.json:

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

Cómo funciona

  • calculator_server.py crea un servidor FastMCP y registra cada función de Python como herramienta mediante el decorador @mcp.tool(). Las anotaciones de tipo y el docstring de la función se convierten en el esquema JSON y la descripción de la herramienta, que es lo que ve el cliente que llama (Claude, el Inspector o test_client.py).

  • mcp.run() inicia el servidor escuchando en stdin/stdout mediante el transporte stdio de MCP — la forma estándar en que un cliente lanza un servidor MCP local como subproceso y se comunica con él.

  • Un cliente se conecta, llama a list_tools() para descubrir qué hay disponible y luego a call_tool(name, args) para invocar una y obtener el resultado.

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
    -