Skip to main content
Glama
calculator-mcp-server

calculator-mcp-server

by cyanheads

Versión Licencia Docker MCP SDK npm TypeScript Bun

Instalar en Claude Desktop Instalar en Cursor Instalar en VS Code

Marco

Servidor público alojado: https://calculator.caseyjhand.com/mcp


Herramientas

Una única herramienta para todas las operaciones matemáticas:

Nombre de la herramienta

Descripción

calculate

Evalúa expresiones matemáticas, simplifica expresiones algebraicas o calcula derivadas simbólicas.

calculate

Una única herramienta que cubre el 100% del propósito del servidor. El parámetro operation por defecto es evaluate, por lo que el caso común es simplemente { expression: "..." }.

  • Evaluar — aritmética, trigonometría, logaritmos, estadística, matrices, números complejos, conversión de unidades, combinatoria

  • Simplificar — reduce expresiones algebraicas simbólicamente (p. ej., 2x + 3x -> 5 * x). Admite identidades algebraicas y trigonométricas

  • Derivada — calcula derivadas simbólicas (p. ej., 3x^2 + 2x + 1 -> 6 * x + 2)

  • Ámbito de variables mediante el parámetro scope: { "x": 5, "y": 3 }

  • Precisión configurable para resultados numéricos

  • Los valores opcionales en blanco de variable y precision de clientes MCP basados en formularios se tratan como omitidos


Related MCP server: pycodemath

Recursos

Patrón de URI

Descripción

calculator://help

Funciones, operadores, constantes y referencia de sintaxis disponibles.


Características

Construido sobre @cyanheads/mcp-ts-core:

  • Definiciones declarativas de herramientas: un solo archivo por herramienta, el framework gestiona el registro y la validación

  • Manejo unificado de errores en todas las herramientas

  • Registro estructurado con trazado opcional de OpenTelemetry

  • Se ejecuta localmente (stdio/HTTP) o en Docker

Específico de la calculadora:

  • Instancia endurecida de math.js v15: funciones peligrosas deshabilitadas, evaluación en sandbox mediante vm.runInNewContext() con tiempo de espera

  • No se requiere autenticación: todas las operaciones son de solo lectura y sin estado

  • Validación de entrada: límites de longitud de expresión, rechazo de separadores de expresión (puntos y comas y nuevas líneas), valores de ámbito solo numéricos

  • Validación de resultados: tipos de resultado bloqueados (funciones, analizadores, conjuntos de resultados), tamaño máximo de resultado configurable

  • Saneamiento del ámbito: valores solo numéricos, prevención de contaminación de prototipos (bloqueados __proto__, constructor, etc.)


Primeros pasos

Instancia pública alojada

Hay una instancia pública disponible en https://calculator.caseyjhand.com/mcp — no se requiere instalación. Apunta cualquier cliente MCP a ella mediante HTTP Streamable:

{
  "mcpServers": {
    "calculator-mcp-server": {
      "type": "streamable-http",
      "url": "https://calculator.caseyjhand.com/mcp"
    }
  }
}

Autohospedado / Local

Añade una de las siguientes opciones a tu archivo de configuración del cliente MCP:

{
  "mcpServers": {
    "calculator-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/calculator-mcp-server@latest"]
    }
  }
}

O con npx (no se requiere Bun):

{
  "mcpServers": {
    "calculator-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/calculator-mcp-server@latest"]
    }
  }
}

O con Docker:

{
  "mcpServers": {
    "calculator-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "MCP_TRANSPORT_TYPE=stdio",
        "ghcr.io/cyanheads/calculator-mcp-server:latest"
      ]
    }
  }
}

Requisitos previos

Instalación

  1. Clona el repositorio:

git clone https://github.com/cyanheads/calculator-mcp-server.git
  1. Navega al directorio:

cd calculator-mcp-server
  1. Instala las dependencias:

bun install

Configuración

Variable

Descripción

Predeterminado

CALC_MAX_EXPRESSION_LENGTH

Longitud máxima permitida de la cadena de expresión (10–10,000).

1000

CALC_EVALUATION_TIMEOUT_MS

Tiempo máximo de evaluación en milisegundos (100–30,000).

5000

CALC_MAX_RESULT_LENGTH

Longitud máxima de la cadena de resultado en caracteres (1,000–1,000,000).

100000

MCP_TRANSPORT_TYPE

Transporte: stdio o http.

stdio

MCP_HTTP_HOST

Nombre de host para el servidor HTTP.

localhost

MCP_HTTP_PORT

Puerto para el servidor HTTP.

3010

MCP_HTTP_ENDPOINT_PATH

Ruta para el endpoint MCP HTTP.

/mcp

MCP_HTTP_MAX_BODY_BYTES

Tamaño máximo de solicitud HTTP entrante; 0 desactiva el límite.

1048576

MCP_AUTH_MODE

Modo de autenticación: none, jwt u oauth.

none

MCP_LOG_LEVEL

Nivel de registro (RFC 5424).

info

Consulta .env.example para opciones de sesión, reanudabilidad, registro y telemetría.


Ejecutar el servidor

Desarrollo local

  • Compila y ejecuta la versión de producción:

bun run build
bun run start:http   # or start:stdio
  • Ejecuta comprobaciones y pruebas:

bun run devcheck     # Lints, formats, type-checks
bun run test         # Runs test suite

Docker

docker build -t calculator-mcp-server .
docker run -p 3010:3010 calculator-mcp-server

La imagen usa por defecto HTTP Streamable en el puerto 3010, sesiones sin estado y registros en /var/log/calculator-mcp-server.


Estructura del proyecto

Directorio

Propósito

src/mcp-server/tools/

Definiciones de herramientas (*.tool.ts).

src/mcp-server/resources/

Definiciones de recursos (*.resource.ts).

src/services/

Integraciones de servicios de dominio (MathService).

src/config/

Análisis y validación de variables de entorno con Zod.

docs/

Árbol de directorios generado.


Guía de desarrollo

Consulta AGENTS.md o CLAUDE.md para las pautas de desarrollo y reglas arquitectónicas. La versión corta:

  • Los manejadores lanzan excepciones, el framework las captura: no hay try/catch en la lógica de las herramientas

  • Usa ctx.log para el registro

  • Registra nuevas herramientas y recursos en src/index.ts


Contribuciones

Las incidencias y las solicitudes de extracción son bienvenidas. Ejecuta las comprobaciones antes de enviar:

bun run devcheck
bun run test

Licencia

Apache-2.0 — consulta LICENSE para más detalles.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    High-precision mathematics server for MCP clients, providing exact integer arithmetic, symbolic derivatives, and numerical calculus via LaTeX-style input.
    6
    5 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides a token-efficient exact math engine for AI agents, enabling computation of derivatives, integrals, equations, and optimized Python/NumPy code via a single MCP tool.
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A mathematical MCP server exposing 6 basic arithmetic and secure symbolic expression evaluation tools (add, subtract, multiply, divide, power, evaluate_expression) with structured JSON responses, input validation, and safe AST-based parsing.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Safe MCP server for math operations: evaluate, simplify, and differentiate expressions with configurable precision, using a sandboxed worker thread and strict AST allowlist to block dangerous input.
    3
    MIT