Skip to main content
Glama
cyanheads

calculator-mcp-server

by cyanheads

Version License Docker MCP SDK npm TypeScript Bun

Install in Claude Desktop Install in Cursor Install in VS Code

Framework

Öffentlich gehosteter Server: https://calculator.caseyjhand.com/mcp


Tools

Ein Tool für alle mathematischen Operationen:

Tool-Name

Beschreibung

calculate

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äten

  • Derivative — 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- und precision-Werte von formularbasierten MCP-Clients werden als weggelassen behandelt


Related MCP server: math-mcp

Ressourcen

URI-Muster

Beschreibung

calculator://help

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ührt

  • Keine 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__, constructor usw.)


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

Installation

  1. Repository klonen:

git clone https://github.com/cyanheads/calculator-mcp-server.git
  1. In das Verzeichnis wechseln:

cd calculator-mcp-server
  1. Abhängigkeiten installieren:

bun install

Konfiguration

Variable

Beschreibung

Standard

CALC_MAX_EXPRESSION_LENGTH

Maximal zulässige Länge des Ausdrucksstrings (10–10.000).

1000

CALC_EVALUATION_TIMEOUT_MS

Maximale Auswertungszeit in Millisekunden (100–30.000).

5000

CALC_MAX_RESULT_LENGTH

Maximale Länge des Ergebnisstrings in Zeichen (1.000–1.000.000).

100000

MCP_TRANSPORT_TYPE

Transport: stdio oder http.

stdio

MCP_HTTP_HOST

Hostname für den HTTP-Server.

localhost

MCP_HTTP_PORT

Port für den HTTP-Server.

3010

MCP_HTTP_ENDPOINT_PATH

Pfad für den HTTP-MCP-Endpunkt.

/mcp

MCP_HTTP_MAX_BODY_BYTES

Maximale Größe eingehender HTTP-Anfragen; 0 deaktiviert das Limit.

1048576

MCP_AUTH_MODE

Auth-Modus: none, jwt oder oauth.

none

MCP_LOG_LEVEL

Protokollstufe (RFC 5424).

info

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:stdio
  • Prü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-server

Das Image verwendet standardmäßig Streamable HTTP auf Port 3010, zustandslose Sitzungen und protokolliert unter /var/log/calculator-mcp-server.


Projektstruktur

Verzeichnis

Zweck

src/mcp-server/tools/

Tool-Definitionen (*.tool.ts).

src/mcp-server/resources/

Ressourcen-Definitionen (*.resource.ts).

src/services/

Integrationen von Domänendiensten (MathService).

src/config/

Parsing und Validierung von Umgebungsvariablen mit Zod.

docs/

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/catch in der Tool-Logik

  • Verwenden Sie ctx.log für die Protokollierung

  • Registrieren 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 test

Lizenz

Apache-2.0 — siehe LICENSE für Details.

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