Skip to main content
Glama
jiheng-mcp

jiheng-mcp

by CQQOOQ123

calc

Evaluate exact math expressions while preserving fractions and radicals, and solve or simplify symbolic math, statistics, finance, unit, and date calculations in one multi-step call.

Instructions

Evaluate a math expression exactly: fractions stay fractions (1/3), radicals stay radicals (sqrt(2)). Symbolic: solve/diff/simplify/expand/factor/subs. Built-ins: sum/mean/std/median/quantile, loan_pmt, npv, cagr, discount, markup, convert, unit_convert, normal/option functions (norm_cdf, black_scholes_call), dates. Common composite functions: norm_cdf(x), black_scholes_call(spot,strike,years,rate,vol), npv(rate, flows[, start]), loan_pmt(principal, annualRate, years), unit_convert(value, from, to). Call functions() to list names, help("name") for a signature. N(expr, digits) is numeric evaluation, NOT the normal CDF. For multi-step work use one call with steps:[{name,expr},...]; later steps may reference earlier names. Results include a full-precision decimal; copy it verbatim and never round.

Input Schema

NameRequiredDescriptionDefault
defsNooptional custom constant/function definitions
exprNofinal expression, e.g. 1000*(1+0.13) or mean([1,2,3]); optional when steps are given
stepsNonamed intermediate steps; later steps can reference earlier names

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.2

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full disclosure burden and does well: exactness semantics (fractions/radicals preserved), the full-precision decimal result, the verbatim-copy-never-round contract, and named-step referential scoping. Missing: whether it is pure/side-effect free, the output envelope besides the decimal precision, and any error behavior for bad expressions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded correctly — exactness first, then the capability catalogue, then usage protocol. The function catalogue in the middle is a long list, yet each entry names a real built-in and several carry signatures, so it earns its space. A tighter grouping of the built-ins would improve scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter, nested-object, no-annotation, no-output-schema tool, this is close to sufficient: invocation protocol, function discovery, multi-step semantics and result-handling contract are all present. The one remaining hole is `defs`, which is undocumented in both description and schema despite being a nested object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters, setting the baseline at 3. The description does add real meaning beyond the schema: step ordering and cross-step references in steps, and the ternary form of composite functions. But defs is never explained anywhere, and expr usage is only exampled.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb+resource: "Evaluate a math expression exactly", and immediately names the differentiators (exact fractions, symbolic radicals) that separate it from a plain calculator. The catalogue of built-in function families and the included signature examples make the tool's scope unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete routing rules for the main ambiguities: use functions() to list names, help("name") for a signature, N(expr, digits) for numeric evaluation rather than norm_cdf, and one multi-step call instead of several. It also prescribes copying the full-precision decimal verbatim. No sibling tools exist, so no alternative-tool exclusions are needed, which caps nothing here and is the only reason it is not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools