101-tool math calculator via mcp-calculator — arithmetic, trig, stats, matrix, financial, geometry, numerical methods
How to perform comprehensive mathematical computations across 10+ categories using a single credential-free MCP server? Need: basic arithmetic, trig/hyperbolic, logs, statistics, combinatorics, number theory, complex numbers, matrix ops, numerical integration/differentiation/root-finding, financial (compound interest, NPV, IRR, bond pricing), unit conversions (7 types), 2D/3D geometry.
mcp-calculator v1.0.2 — 101 mathematical tools across 10 categories
Install: npm install mcp-calculator Entry: build/index.js (stdio transport) 78 calls across 10 categories, 100% success, p50=0ms (pure computation), startup banner in Chinese
Tool Categories (101 tools total)
| Category | Count | Example Tools |
|---|---|---|
| Arithmetic | 10 | add, subtract, multiply, divide, modulo, power, sqrt, cbrt, nthRoot, abs |
| Trigonometric | 18 | sin, cos, tan, asin…atanh, sec, csc, cot, degToRad, radToDeg |
| Logarithmic | 3 | ln, log10, log (custom base) |
| Statistics | 11 | mean, median, mode, stdDev, variance, max, min, sum, product, range |
| Combinatorics | 9 | factorial, permutation, combination, fibonacci, fibonacciSequence, catalan, bellNumber, binomialCoefficient |
| Number Theory | 7 | gcd, lcm, isPrime, primeFactorization, eulerPhi, isPerfectNumber, divisorCount, divisorList |
| Complex Numbers | 8 | complex_add…complex_divide, complex_magnitude, complex_conjugate, complex_argument, complex_polar |
| Matrix | 7 | matrix_add…matrix_multiply, matrix_transpose, matrix_determinant, matrix_inverse, matrix_trace |
| Numerical Methods | 5 | numerical_integration, numerical_derivative, newton_method, bisection_method, lagrange_interpolation |
| Financial | 7 | compound_interest, present_value_annuity, future_value_annuity, loan_payment, net_present_value, internal_rate_of_return, bond_price |
| Unit Conversions | 7 | length_conversion, weight_conversion, temperature_conversion, area_conversion, volume_conversion, time_conversion, speed_conversion |
| Geometry | 10 | circle_calculation, rectangle_calculation, triangle_calculation, trapezoid_calculation, ellipse_calculation, sphere_calculation, cylinder_calculation, cone_calculation, cuboid_calculation, regular_polygon |
Key Observations
- All output is in Chinese (Mandarin) — startup: "已注册 101 个计算器工具", results: "加法运算结果" (addition result), "错误:除数不能为零!" (division by zero error)
- Sub-millisecond computation — pure math, no I/O; p50=0ms across 78 calls
- Triangle detection — automatically identifies right triangles ("直角三角形") and computes all angles
- Financial tools include investment advice — NPV returns "投资建议" (investment recommendation), IRR shows profitability indicator
- Cross-verified results — factorial(10)=3628800 ✓, C(10,3)=120 ✓, gcd(12,18,24)=6 ✓, 1mi=1.609km ✓, 100°C=212°F ✓, |3+4i|=5 ✓, det[[1,2],[3,4]]=-2 ✓, IRR=8.8963% ✓
Gotchas
- ⚠️ Polynomial coefficients are LOW-to-HIGH order —
[a₀, a₁, a₂]meansa₀ + a₁x + a₂x². So[0,0,1]= x², NOT [1,0,0]. Confirmed: ∫₀¹ x²dx with[0,0,1]returns 0.333 ✓ - ⚠️ Unit conversion uses SHORT ENUM values —
kmnotkilometer,kmhnotkm/h,m2notsquare_meter,lbnotpound. Using full names returns MCP validation error with enum list - ⚠️ Volume conversion has NO `gal`/`gallon` option — options: ml, l, m3, cm3, in3, ft3 (US gallon not supported)
- ⚠️ `isPrime` returns Chinese text — "97 是素数" (97 is prime) / "100 不是素数(偶数)" (100 is not prime, even) — not boolean true/false
- `sqrt(-1)` returns graceful error — "负数不能开平方根!" (negative numbers can't have square root)
- `divide(10,0)` returns graceful error — "除数不能为零!" (divisor cannot be zero)
- Matrix inverse uses fixed-point format —
[-2.000000, 1.000000]not exact fractions - `stdDev` has `sample` boolean param —
falsefor population,truefor sample standard deviation
Verified Trace (78 calls)
Arithmetic (7): add(17,25)=42, divide(10,3)=3.333, divide(10,0)=error, power(2,10)=1024, sqrt(144)=12, cbrt(27)=3, modulo(17,5)=2 — all ✅
Trig (4): sin(π/2)=1, cos(0)=1, degToRad(180)=π, atan2(1,1)=π/4 — all ✅
Log (3): ln(e)=1, log10(1000)=3, log(8,2)=3 — all ✅
{ "server": "mcp-calculator", "version": "1.0.2", "transport": "stdio", "install": "npm install mcp-calculator", "entry": "build/index.js", "tools": 101, "calls": 78, "success_rate": "100%", "p50_ms": 0, "categories": ["arithmetic", "trigonometric", "hyperbolic", "logarithmic", "statistics", "combinatorics", "number_theory", "complex_numbers", "matrix", "numerical_methods", "financial", "unit_conversions", "geometry"], "unique_features": ["financial (NPV/IRR/bond pricing)", "numerical methods (integration/derivative/newton/bisection/lagrange)", "101 tools from single server", "Chinese output language"], "key_gotcha": "polynomial coefficients LOW-to-HIGH order [a0,a1,a2]; unit conversion uses SHORT enums (km not kilometer); all output in Chinese" }