Skip to content

cyanheads/calculator-mcp-server

v0.5.3Apache-2.0

Evaluate, simplify, and differentiate mathematical expressions via MCP. STDIO or Streamable HTTP.

Changelog

All notable changes to this project. Each entry links to its full per-version file in changelog/.

0.5.3 — 2026-10-28

HTTP request cleanup and desktop bundle packaging.

0.5.2 — 2026-10-25

Framework Markdown formatting and dependency refresh.

0.5.1 — 2026-10-08 · 🛡️ Security

Picks up mcp-ts-core 0.13.14 — tool errors carry a request ID and no longer carry stack traces or request context, and a JSON-stringified scope, an integer expression, or null at an optional key is repaired before validation — and config() now returns a fresh copy on every call.

0.5.0 — 2026-09-24 · ⚠️ Breaking · 🛡️ Security

calculate errors now name the stage that failed through three new reasons, non-finite and inexact-Fraction results fail instead of returning, Fraction mode accepts whole-number sizes, indexes, and dimensions, and each evaluation is bounded in the matrices and strings it can build.

0.4.3 — 2026-09-19

MCP_SESSION_MODE is now declared stateless in code, argument rejections carry a reason and recovery hint, and calculate's own errors close with a reason suffix — all from the @cyanheads/mcp-ts-core 0.13.6 upgrade.

0.4.2 — 2026-09-13

Framework adoption and calculator configuration

0.4.1 — 2026-08-22

MCP SDK v2 compatibility with strict tool inputs, declared error envelopes, 2026 protocol support, and a 24-hour public cache hint for calculator help.

0.4.0 — 2026-07-02 · 🛡️ Security

Security: simplify/derivative now run on the hardened math.js instance (closing a constant-folding bypass), a dedicated fraction_unsupported error for Fraction-mode irrational results, length/len aliases for count, and a lockfile refresh clearing all 9 transitive audit advisories.

0.3.5 — 2026-06-20

Adopt mcp-ts-core ^0.10.9: two new devcheck guards (floating dependency specifiers, plugin marketplace manifest correctness), re-synced skills and tooling scripts.

0.3.4 — 2026-06-15

Statistics/combinatorics function-name aliases (stdev, stddev, permute, nPr, choose, nCr) and a richer expression description that names canonical functions per advertised category.

0.3.3 — 2026-06-15

Adopt @cyanheads/mcp-ts-core ^0.10.6: explicit name/title server identity, Dockerfile image.version label + /healthz HEALTHCHECK, post-pack bundle cleaner, devcheck identity/antipattern/packaging checks.

0.3.2 — 2026-06-04

simplify unchanged detection (#1); numericType parameter for BigNumber/Fraction evaluate paths (#7)

0.3.1 — 2026-06-02

@cyanheads/mcp-ts-core ^0.9.16 → ^0.9.21; HTTP log context fix; fetchWithTimeout secret redaction; withRetry fail-fast on non-retryable errors; release:github script added

0.3.0 — 2026-05-31 · 🛡️ Security

Omit null context fields from output, block function-source leak via toString/toLocaleString, string-literal-aware separator scan

0.2.0 — 2026-05-30

Output context fields (operation/scopeVars/precisionUsed), standard notation aliases (ln, arc*), and non-finite guard extended to matrices and complex numbers

0.1.26 — 2026-05-30

@cyanheads/mcp-ts-core ^0.9.13 → ^0.9.16: skills and scripts synced to framework version

0.1.25 — 2026-05-28

@cyanheads/mcp-ts-core ^0.9.6 → ^0.9.13: HTTP 413 body cap, session-init gate, quieter 401/403/400/404 logs, GET /mcp keywords; MCPB placeholder stripping in server config

0.1.24 — 2026-05-23

Framework @cyanheads/mcp-ts-core ^0.9.4 → ^0.9.6. Skills synced: maintenance (2.3 → 2.4), polish-docs-meta (2.0 → 2.2), release-and-publish (2.4 → 2.5). lint:packaging updated.

0.1.23 — 2026-05-22

Framework @cyanheads/mcp-ts-core ^0.9.1 → ^0.9.4. Explicit zod dep (peerDep change in 0.9.2). New scripts: audit:refresh, list-skills, lint:packaging, bundle, changelog:build, changelog:check. TypeScript exhaustiveness fix in calculate.tool.ts.

0.1.22 — 2026-05-16

Framework bump @cyanheads/mcp-ts-core 0.8.15 → 0.9.1. Adopt the new instructions field on createApp() — server-level orientation now flows to every initialize response. Engines: Node ≥24.0.0, Bun ≥1.3.0. CHANGELOG.md migrated to per-version files under changelog/0.1.x/.

0.1.21 — 2026-05-05

Framework bump @cyanheads/mcp-ts-core 0.8.5 → 0.8.15. Reclassify evaluation_timeout from ServiceUnavailable (-32000) to Timeout (-32004) — vm sandbox abort is a timeout primitive, not an upstream availability problem. retryable: false unchanged.

0.1.20 — 2026-04-29

Framework bump @cyanheads/mcp-ts-core 0.8.3 → 0.8.5. Adopt the new typed recovery field on all 10 calculate error contract entries — actionable hints now flow to structuredContent.error.data.recovery.hint and mirror into content[0].text.

0.1.19 — 2026-04-29

Fix the view source ↗ link for calculator://help on the HTTP landing page — set sourceUrl explicitly on the resource definition (URI-shaped names break the framework's auto-derivation).

0.1.18 — 2026-04-29

Framework bump @cyanheads/mcp-ts-core 0.8.0 → 0.8.3. Opt-in to landing-page repoRoot config (status-strip GitHub link, auto-derived per-tool sourceUrl, tagline). No runtime API changes for calculate callers.

0.1.17 — 2026-04-28

Natural-language ergonomics: calculate now accepts average/avg aliases for mean, and mph, knot, lightyear units (with plurals and standard abbreviations). Closes #5, #6.

0.1.16 — 2026-04-28

Adopt framework 0.8.0 typed error contract on calculate. Reclassify input-validation failures from InvalidParams (-32602) to ValidationError (-32007). 10 contract reasons declared. Wire-shape conformance test suite. Closes #3, #4.

0.1.15 — 2026-04-28

Patch release: framework 0.7.6 → 0.8.0 bump, agent protocol Errors section rewritten to lead with the new typed error contract pattern, and three external skills resynced from the framework.

0.1.14 — 2026-04-27

Patch release surfacing two field-test findings in the calculate tool: numeric results no longer flip into scientific notation at math.js's default exp ≥ 5 threshold, and the schema descriptions stop naming a specific consumer.

0.1.13 — 2026-04-27

Patch release: framework 0.7.5 → 0.7.6 bump, #2 fix lifting the single-expression contract into the calculate tool's published JSON Schema, and adoption of the framework template's new start script.

0.1.12 — 2026-04-27

Framework patch-series bump and a small MathService cleanup.

0.1.11 — 2026-04-24

Framework bump to @cyanheads/mcp-ts-core 0.7.0, handler simplification, and skill sync.

0.1.10 — 2026-04-20

Framework bump to @cyanheads/mcp-ts-core 0.5.3, parseEnvConfig adoption, and skill sync.

0.1.9 — 2026-04-14

Dependency refresh, form-client input normalization, and metadata updates.

0.1.8 — 2026-03-30

Package metadata and dev dependency updates.

0.1.7 — 2026-03-30

Public hosted instance and distribution metadata.

0.1.6 — 2026-03-30

Security hardening: scope sanitization, result type/size validation, newline separator blocking, and prototype pollution prevention.

0.1.5 — 2026-03-30

Trigonometric simplification rules and stricter non-finite result handling.

0.1.4 — 2026-03-30

Dependency update, input validation tightening, and error message improvements.

0.1.3 — 2026-03-29

Input validation hardening, resource listing support, and documentation updates.

0.1.2 — 2026-03-28

Core calculator implementation — replaces scaffold echo tool with full math evaluation surface.

0.1.1 — 2026-03-28

Package metadata, documentation, and agent protocol polish.

0.1.0 — 2026-03-28

Initial project scaffold and design.