calculator-mcp-server
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 |
| 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étricasDerivada — 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
variableyprecisionde clientes MCP basados en formularios se tratan como omitidos
Related MCP server: pycodemath
Recursos
Patrón de URI | Descripción |
| 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 esperaNo 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
Bun v1.3.0 o superior
Instalación
Clona el repositorio:
git clone https://github.com/cyanheads/calculator-mcp-server.gitNavega al directorio:
cd calculator-mcp-serverInstala las dependencias:
bun installConfiguración
Variable | Descripción | Predeterminado |
| Longitud máxima permitida de la cadena de expresión (10–10,000). |
|
| Tiempo máximo de evaluación en milisegundos (100–30,000). |
|
| Longitud máxima de la cadena de resultado en caracteres (1,000–1,000,000). |
|
| Transporte: |
|
| Nombre de host para el servidor HTTP. |
|
| Puerto para el servidor HTTP. |
|
| Ruta para el endpoint MCP HTTP. |
|
| Tamaño máximo de solicitud HTTP entrante; |
|
| Modo de autenticación: |
|
| Nivel de registro (RFC 5424). |
|
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:stdioEjecuta comprobaciones y pruebas:
bun run devcheck # Lints, formats, type-checks
bun run test # Runs test suiteDocker
docker build -t calculator-mcp-server .
docker run -p 3010:3010 calculator-mcp-serverLa 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 |
| Definiciones de herramientas ( |
| Definiciones de recursos ( |
| Integraciones de servicios de dominio (MathService). |
| Análisis y validación de variables de entorno con Zod. |
| Á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/catchen la lógica de las herramientasUsa
ctx.logpara el registroRegistra 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 testLicencia
Apache-2.0 — consulta LICENSE para más detalles.
This server cannot be deployed
Maintenance
Related MCP Connectors
Math.js MCP — wraps the mathjs.org API (free, no auth)
Safe scientific calculator MCP for numeric expressions
Newton MCP — wraps the Newton math solver API (free, no auth)
Find and call the right MCP server for any task - pay per use, no install.
Related MCP Servers
- AlicenseBqualityDmaintenanceHigh-precision mathematics server for MCP clients, providing exact integer arithmetic, symbolic derivatives, and numerical calculus via LaTeX-style input.65 npm2MIT
- AlicenseNot gradedqualityAmaintenanceProvides 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.7MIT
- FlicenseNot gradedqualityDmaintenanceA 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.-
- AlicenseAqualityCmaintenanceSafe 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.3MIT