Skip to main content
Glama
cyanheads

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: math-mcp

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Provides secure mathematical computation capabilities including expression evaluation, symbolic math (derivatives, simplification), matrix operations, statistics, and unit conversion, with multi-tier acceleration through WebAssembly and WebWorkers for high-performance calculations.
    7
    178
    ISC
  • A
    license
    A
    quality
    C
    maintenance
    A secure MCP server for evaluating mathematical expressions with grammar validation, function whitelisting, and sandboxed execution. It provides tools for expression evaluation, variable management, and resources for grammar and function documentation.
    6
    37
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    High-precision mathematics server for MCP clients, providing exact integer arithmetic, symbolic derivatives, and numerical calculus via LaTeX-style input.
    6
    17
    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.
    4
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/calculator-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server