Reported issues for calculator-mcp-server
Pod holds 15 of 15 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to calculator-mcp-server.
Most discussed
bug(calculate): a function used as a value gets a unit-mismatch recovery hint (5 min to s)
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Bun
Runtime version
Bun 1.4.0 (via runToolContract)
Transport
stdio
Description
When implicit multiplication puts a function next to a value, math.js throws a type error from multiplyScalar. The call fails with type_mismatch, and the recovery tells the caller to attach or strip units. That points the wrong way. 5 min to s reads min as the minimum function, not minutes. (f(x) = x^2)(3)…
Read the thread · 2026-09-24 · closed · 1 comment
bug(calculate): custom units (knot, lightyear) hijack unit simplification of SI results
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Bun
Runtime version
Bun 1.4.0 (via runToolContract)
Transport
stdio
Description
The custom units the server registers (mph, knot, lightyear) take over math.js's automatic unit simplification. A velocity computed from SI units comes back in knots, and a product involving a length can come back in light-years. The values are numerically right but unreadable, and they aren't in the units the caller…
Read the thread · 2026-09-24 · closed · 1 comment
bug(calculate): Fraction mode rejects whole-number dimension arguments with fraction_unsupported
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Bun
Runtime version
Bun 1.4.0 (via runToolContract)
Transport
stdio
Description
Under numericType: "Fraction", the dimension argument of matrix reductions and concat parses as a Fraction, and those functions accept only a number there. The call fails with fraction_unsupported, whose message says the result has no exact rational value or the function can't be computed in Fraction mode. Both are…
Read the thread · 2026-09-24 · closed · 1 comment
bug(calculate): Fraction mode returns inexact floats without error and rejects integer indexes
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Bun
Runtime version
Bun 1.4.0 (via runToolContract)
Transport
stdio
Description
Under numericType: "Fraction", constants and non-integer powers fall back to a 64-bit float, and the call succeeds with resultType number. The caller asked for exact arithmetic and gets a rounded value with no error, which is the case fraction_unsupported exists to flag. Separately, integer indexes parse as Fractions,…
Read the thread · 2026-09-24 · closed · 1 comment
bug(calculate): assignments in an expression leak into scopeVars
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Bun
Runtime version
Bun 1.4.0 (via runToolContract)
Transport
stdio
Description
evaluate passes the caller's scope object to math.js, and an assignment inside the expression writes into that object. The handler builds scopeVars from Object.keys(scope) after evaluation, so the output lists names the caller never sent.
Related: #12 (scopeVars echo).
Steps to reproduce
calculatewith…
Read the thread · 2026-09-24 · closed · 1 comment
bug(calculate): Fraction mode misreports matrix size arguments and exponent literals
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Bun
Runtime version
Bun 1.4.0 (via runToolContract)
Transport
stdio
Description
Under numericType: "Fraction", two failures carry messages that point the caller the wrong way. Size arguments to matrix constructors parse as Fractions, and those functions have no Fraction signature, so zeros(2) fails with fraction_unsupported, whose message blames an irrational result. Exponent literals are…
Read the thread · 2026-09-24 · closed · 1 comment
bug(calculate): multiple-expression scan ignores single-quoted strings
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Node.js
Runtime version
Bun 1.4.0 (via the tool handler)
Transport
stdio
Description
hasExpressionSeparator() (#16) treats only " as a string delimiter; its comment says ' is only the transpose operator. math.js 15 also parses '…' as a string literal ('a;b' → "a;b"). A ; or newline inside a single-quoted string is therefore rejected as multiple_expressions. A " or…
Read the thread · 2026-09-24 · closed · 1 comment
bug(calculate): help() in an expression escapes the typed-error mapping as an internal error
Server version
0.4.3
mcp-ts-core version
^0.13.6
Runtime
Node.js
Runtime version
Bun 1.4.0 (via runToolContract)
Transport
stdio
Description
Calling math.js help inside an expression fails with an uncontracted internal error. help is not in DISABLED_FUNCTIONS, so it returns a Help object that passes validateResultType; inst.format(raw) then renders the object's examples by calling the…
Read the thread · 2026-09-24 · closed · 1 comment
Most recent
bug(calculate): evaluation-time math.js errors (unit/type mismatch, domain, dimension) surface as parse_failed with a syntax hint
Server version
0.4.1
mcp-ts-core version
^0.12.3
Runtime
Bun
Runtime version
Bun 1.3.x
Transport
HTTP (Streamable HTTP)
Description
MathService.runWithTimeout maps every non-timeout error to parse_failed (#19 carved out only Fraction conversion), with a recovery about balanced parentheses and function names. Most of those errors come from math.js evaluating an expression that already parsed — argument types, unit mismatches, arity,…
Read the thread · 2026-08-22 · closed · 1 comment
feat(config): default MCP_SESSION_MODE to stateless across env, Docker, and src
Dockerfile sets ENV MCP_SESSION_MODE="stateless", but .env.example carries a commented # MCP_SESSION_MODE=stateful, whose comment documents the value set as stateful | stateless (default: stateful). The container and the same code run via bunx, npm start, or from source therefore resolve to different session modes — stateless in Docker, stateful everywhere else, since the framework schema defaults to auto and auto resolves to stateful.
The hosted deployment runs stateless…
Read the thread · 2026-08-22 · closed · 1 comment
bug(calculate): evaluate()/simplify()/derivative() inside an expression misdirect instead of pointing at the operation parameter
Server version
0.4.0
mcp-ts-core version
0.10.10
Runtime
Bun
Runtime version
Bun 1.3.x (hosted Docker image)
Transport
HTTP (Streamable HTTP)
OS
Linux (Docker)
Description
All three operation values — evaluate, simplify, derivative — are also blocked function names inside expressions (#18). A caller who writes the operation as a function call is misdirected:
- Under
operation: "evaluate", the stub throws `Function "derivative" is disabled for…
Read the thread · 2026-08-21 · closed · 1 comment
bug(calculate): format() renders expression, result, and scope-key text as live Markdown
Server version
0.4.0
mcp-ts-core version
^0.10.10
Runtime
Node.js
Runtime version
Node v26.5.0
Transport
HTTP (Streamable HTTP)
Description
calculate's format() interpolates caller-controlled text into content[] Markdown as-is: the expression in a fixed single-backtick span, the result and scope-variable names as raw text. String, string-matrix, and object results render as links and HTML, a backtick closes the expression span early, and a multi-line…
Read the thread · 2026-08-11 · closed · 1 comment
bug(calculate): number-mode config stub breaks eigs, schur, intersect and skews tolerance comparisons
Server version
0.4.0
mcp-ts-core version
^0.10.10
Runtime
Node.js
Runtime version
Node v26.5.0
Transport
HTTP (Streamable HTTP)
Description
eigs, advertised in calculator://help, fails for valid matrices in default number mode, and the same cause breaks or skews other functions. The hardened number instance replaces config with a throwing stub that carries none of math.js's config properties. math.js injects config into each factory when it is…
Read the thread · 2026-08-11 · closed · 1 comment
bug(calculate): notation aliases rewrite quoted string literals
Server version
0.4.0
mcp-ts-core version
^0.10.10
Runtime
Node.js
Runtime version
Node v26.5.0
Transport
HTTP (Streamable HTTP)
Description
calculate rewrites standard-notation aliases inside quoted string literals. normalizeNotation() (#13) applies NOTATION_ALIAS_PATTERN to the raw expression, so ln( or an arc*( name inside a string changes before math.js parses it. Double- and single-quoted strings (math.js 15 accepts both) are affected, under…
Read the thread · 2026-08-11 · closed · 1 comment
bug(calculate): non-finite BigNumber, Unit, and object results bypass undefined_result
Server version
0.4.0
mcp-ts-core version
^0.10.10
Runtime
Node.js
Runtime version
Node v26.3.1
Transport
HTTP (Streamable HTTP)
Description
calculate rejects non-finite results with undefined_result, but containsNonFinite() in src/services/math/math-service.ts only recognizes JS numbers, arrays, Complex (re/im), and matrices (toArray()). A non-finite value held in a BigNumber (scalar or matrix element), a Unit, or a plain object passes the…
Read the thread · 2026-07-02 · closed · 1 comment
The remaining reports are on the project's issue tracker.