Skip to main content
Glama

calc_eval

Evaluate mathematical expressions and calculate results with configurable precision for accurate computations.

Instructions

Alias of calc.eval

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
exprYes
precisionNo

Implementation Reference

  • Core handler function implementing the calculation logic: normalizes expression, evaluates with mathjs, applies precision formatting, returns success/error object.
    export async function calcEval(expr: string, precision?: number) { try { const norm = normalizeExponent(expr); const res = math.evaluate(norm); let out = String(res); if (typeof res === 'number' && Number.isFinite(res) && typeof precision === 'number') { const p = Math.max(0, Math.min(precision, 20)); out = res.toFixed(p); } return { ok: true, result: out }; } catch (e: any) { return { ok: false, error: e?.message || 'calc error' }; } }
  • Zod input schema for calc_eval tool: required string expr, optional integer precision (0-64).
    { expr: z.string(), precision: z.number().int().min(0).max(64).optional() },
  • src/server.ts:29-36 (registration)
    MCP server registration of 'calc_eval' tool: defines name, description, schema, options, and thin async handler wrapper around calcEval.
    server.tool('calc_eval', 'Alias of calc.eval', { expr: z.string(), precision: z.number().int().min(0).max(64).optional() }, OPEN, async ({ expr, precision }) => { const res = await calcEval(expr, precision); return { content: [{ type: 'text', text: JSON.stringify(res) }] }; } );
  • Helper utility to normalize mathematical expressions, converting ** to ^ and Vietnamese exponent terms (e.g., 'mũ', 'lũy thừa') to ^ for mathjs compatibility.
    function normalizeExponent(s: string): string { let t = s; // Python style t = t.replace(/\*\*/g, '^'); // "mũ", "mu" (viết không dấu), "lũy thừa" // ví dụ: "5 mũ 10" -> "5 ^ 10" t = t.replace(/\s*(m[ũu]|lu[ũu]y\s*thừa)\s*/gi, ' ^ '); // tuỳ chọn: gom nhiều khoảng trắng t = t.replace(/\s+/g, ' ').trim(); return t; }

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/khanhs-234/tool4lm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server