Skip to main content
Glama

calc_eval

Evaluate mathematical expressions with custom precision using this tool. Ideal for performing accurate calculations directly within the MCP ecosystem, enhancing computation capabilities for local LLMs.

Instructions

Alias of calc.eval

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
exprYes
precisionNo

Implementation Reference

  • src/server.ts:29-36 (registration)
    Registration of the 'calc_eval' MCP tool. Defines input schema, calls the calcEval helper, and formats MCP response.
    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) }] }; } );
  • Core handler logic for evaluating mathematical expressions using mathjs library, with support for precision and error handling.
    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 validation for the calc_eval tool: required 'expr' string and optional 'precision' integer (0-64).
    { expr: z.string(), precision: z.number().int().min(0).max(64).optional() },
  • Utility function to normalize exponentiation notation, converting '**', Vietnamese terms like 'mũ' or 'lũy thừa' to '^', and cleaning whitespace.
    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; }

Other Tools

Related Tools

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