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: math-mcp
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.
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.
This server cannot be installed
Maintenance
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
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
- AlicenseBqualityAmaintenanceProvides 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.7178ISC
- AlicenseAqualityCmaintenanceA 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.637MIT
- AlicenseBqualityCmaintenanceHigh-precision mathematics server for MCP clients, providing exact integer arithmetic, symbolic derivatives, and numerical calculus via LaTeX-style input.6172MIT
- 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.4MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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