calculator-mcp-server
Öffentlich gehosteter Server: https://calculator.caseyjhand.com/mcp
Tools
Ein Tool für alle mathematischen Operationen:
Tool-Name | Beschreibung |
| Mathematische Ausdrücke auswerten, algebraische Ausdrücke vereinfachen oder symbolische Ableitungen berechnen. |
calculate
Ein einziges Tool, das 100 % des Serverzwecks abdeckt. Der Parameter operation ist standardmäßig auf evaluate gesetzt, sodass der häufigste Fall einfach { expression: "..." } ist.
Evaluate — Arithmetik, Trigonometrie, Logarithmen, Statistik, Matrizen, komplexe Zahlen, Einheitenumrechnung, Kombinatorik
Simplify — algebraische Ausdrücke symbolisch reduzieren (z. B.
2x + 3x->5 * x). Unterstützt algebraische und trigonometrische IdentitätenDerivative — symbolische Ableitungen berechnen (z. B.
3x^2 + 2x + 1->6 * x + 2)Variablenbereich über den Parameter
scope:{ "x": 5, "y": 3 }Konfigurierbare Genauigkeit für numerische Ergebnisse
Leere optionale
variable- undprecision-Werte von formularbasierten MCP-Clients werden als weggelassen behandelt
Related MCP server: pycodemath
Ressourcen
URI-Muster | Beschreibung |
| Verfügbare Funktionen, Operatoren, Konstanten und Syntaxreferenz. |
Funktionen
Basiert auf @cyanheads/mcp-ts-core:
Deklarative Tool-Definitionen — eine Datei pro Tool, das Framework übernimmt Registrierung und Validierung
Einheitliche Fehlerbehandlung für alle Tools
Strukturierte Protokollierung mit optionalem OpenTelemetry-Tracing
Läuft lokal (stdio/HTTP) oder in Docker
Rechnerspezifisch:
Gehärtete math.js-v15-Instanz — gefährliche Funktionen deaktiviert, Auswertung per
vm.runInNewContext()mit Timeout in einer Sandbox ausgeführtKeine Authentifizierung erforderlich — alle Operationen sind schreibgeschützt und zustandslos
Eingabevalidierung: Begrenzung der Ausdruckslänge, Ablehnung von Ausdrucks-Trennzeichen (Semikolons und Zeilenumbrüche), nur numerische Scope-Werte
Ergebnisvalidierung: blockierte Ergebnistypen (Funktionen, Parser, Ergebnismengen), konfigurierbare maximale Ergebnisgröße
Scope-Bereinigung: nur numerische Werte, Schutz vor Prototype Pollution (blockierte
__proto__,constructorusw.)
Erste Schritte
Öffentlich gehostete Instanz
Eine öffentliche Instanz ist unter https://calculator.caseyjhand.com/mcp verfügbar — keine Installation erforderlich. Richten Sie einen beliebigen MCP-Client über Streamable HTTP darauf aus:
{
"mcpServers": {
"calculator-mcp-server": {
"type": "streamable-http",
"url": "https://calculator.caseyjhand.com/mcp"
}
}
}Selbst gehostet / Lokal
Fügen Sie eine der folgenden Optionen zu Ihrer MCP-Client-Konfigurationsdatei hinzu:
{
"mcpServers": {
"calculator-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/calculator-mcp-server@latest"]
}
}
}Oder mit npx (kein Bun erforderlich):
{
"mcpServers": {
"calculator-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cyanheads/calculator-mcp-server@latest"]
}
}
}Oder mit 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"
]
}
}
}Voraussetzungen
Bun v1.3.0 oder höher
Installation
Repository klonen:
git clone https://github.com/cyanheads/calculator-mcp-server.gitIn das Verzeichnis wechseln:
cd calculator-mcp-serverAbhängigkeiten installieren:
bun installKonfiguration
Variable | Beschreibung | Standard |
| Maximal zulässige Länge des Ausdrucksstrings (10–10.000). |
|
| Maximale Auswertungszeit in Millisekunden (100–30.000). |
|
| Maximale Länge des Ergebnisstrings in Zeichen (1.000–1.000.000). |
|
| Transport: |
|
| Hostname für den HTTP-Server. |
|
| Port für den HTTP-Server. |
|
| Pfad für den HTTP-MCP-Endpunkt. |
|
| Maximale Größe eingehender HTTP-Anfragen; |
|
| Auth-Modus: |
|
| Protokollstufe (RFC 5424). |
|
Siehe .env.example für optionale Sitzungs-, Fortsetzbarkeits-, Protokollierungs- und Telemetrieeinstellungen.
Server ausführen
Lokale Entwicklung
Produktionsversion erstellen und ausführen:
bun run build bun run start:http # or start:stdioPrüfungen und Tests ausführen:
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-serverDas Image verwendet standardmäßig Streamable HTTP auf Port 3010, zustandslose Sitzungen und protokolliert unter /var/log/calculator-mcp-server.
Projektstruktur
Verzeichnis | Zweck |
| Tool-Definitionen ( |
| Ressourcen-Definitionen ( |
| Integrationen von Domänendiensten (MathService). |
| Parsing und Validierung von Umgebungsvariablen mit Zod. |
| Generierter Verzeichnisbaum. |
Entwicklungsleitfaden
Siehe AGENTS.md oder CLAUDE.md für Entwicklungsrichtlinien und Architekturregeln. Die Kurzfassung:
Handler werfen Fehler, das Framework fängt sie — kein
try/catchin der Tool-LogikVerwenden Sie
ctx.logfür die ProtokollierungRegistrieren Sie neue Tools und Ressourcen in
src/index.ts
Mitwirken
Issues und Pull Requests sind willkommen. Führen Sie vor dem Einreichen die Prüfungen aus:
bun run devcheck
bun run testLizenz
Apache-2.0 — siehe LICENSE für Details.
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 gradedqualityBmaintenanceProvides 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.8MIT
- AlicenseAqualityDmaintenanceSafe 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
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to perform safe sandboxed expression evaluation, symbolic calculus such as derivatives, simplification, equation solving and integration, statistical analysis, and JSON-native matrix operations. Everything is computed statelessly through the Model Context Protocol over stdio, HTTP, or SSE.118 npmMIT