Most calculator tools pick one variance formula and never mention it, which produces answers that are wrong by a factor nobody notices. Defaulting to the sample form and exposing the population form as a parameter is the correct handling of a real ambiguity. The same care shows in errors: dividing by zero raises rather than returning infinity or a plausible number, which matters more here than in a library because the caller is a model that will happily narrate whatever comes back. Percentage operations in three directions is a small thing that reflects how the question is actually asked.
A deterministic calculator exposed as tools: arithmetic and powers, trigonometry with degrees or radians, logarithms, descriptive statistics, percentage operations and a constants lookup.
- Arithmetic and algebra including power, square root, modulo, absolute value and factorial — the last one stating its own overflow point.
- Full trigonometry with inverses, defaulting to degrees and taking radians on request, which removes the single most common unit mistake.
- Descriptive statistics done correctly: variance and standard deviation default to the sample form with a flag for the population form, rather than silently picking one.
- Percentages in all three directions people actually ask them — X percent of Y, the change from A to B, and X is Y percent of what.
- Error cases named rather than returned as a value: divide and modulo error on a zero divisor, square root errors on negative input, and the logarithms error on non-positive input.
- get_constant returns mathematical, physical and chemical constants from a defined set.
Nothing to supply.
One command — npx @slbdn/cruncher-mcp
