Skip to main content
Glama

BusCalc — Business & Trade Calculations

Financial mathematics

buscalc_financial_mathematics
Read-onlyIdempotent

Calculate NPV from2..601 time-zero-first cash flows, present/future value, beginning/end annuities or equivalent annual value over up to600 whole periods. Explicit ratePercent inputs; unsupported overflow/underflow is rejected. Returns a calculation receipt with inputs, results, assumptions, validation checks and source. The receipt is unsigned, not independent certification. No private data, external lookup or arbitrary code execution. Put tool fields inside inputs. Supply units or modelVersion only when listed in inputSchema. Follow its required fields and exact choices. Do not pass the REST calculator field inside MCP arguments.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "inputs": {
        "mode": "npv",
        "cashflows": [
          -100,
          60,
          60
        ],
        "ratePercent": 10
      }
    },
    "name": "buscalc_financial_mathematics"
  }
}

Input Schema

NameRequiredDescriptionDefault
unitsNo
inputsYes
modelVersionNo

Output Schema

NameRequiredDescriptionDefault
unitsNo
inputsYes
receiptYes
resultsYes
sourceURLYes
calculatorYes
modelVersionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "inputs": {
      +      "cashflows": [
      +        -100,
      +        60,
      +        60
      +      ],
      +      "mode": "npv",
      +      "ratePercent": 10
      +    }
      +  }
      +]
  2. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the marginal value here is real: the description discloses that overflow/underflow is rejected, that results come back as a receipt containing inputs, results, assumptions, validation checks and source, and that the receipt is unsigned and not independent certification. That is meaningful context an agent cannot get from the annotations, though it does not discuss determinism across equivalent inputs or edge behavior at boundary rates.

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

Conciseness3/5

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

The opening sentence is well front-loaded with the tool's capabilities, but the tail becomes a stack of procedural nags ('Follow its required fields and exact choices', 'Do not pass the REST calculator field inside MCP arguments') that read as compliance boilerplate. The disclaimer sentence about the unsigned receipt is useful once but contributes to a slightly cluttered, list-like structure rather than a prioritized narrative.

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 tool with a nested oneOf schema across four modes and an output schema already present, the description supplies the missing glue: mode coverage, period/cash-flow bounds, and the nesting requirement. It stops short of explaining rate conventions per mode (e.g. equivalent_annual using an annual rate while others are per-period), which the schema notes but the prose only hints at.

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

Parameters4/5

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

Although the reported schema description coverage is 0%, the schema itself does describe many fields; the description's added value is structural — clarifying that tool fields belong inside a nested 'inputs' object and that 'units' and 'modelVersion' are optional, conditionally-supplied fields. It also restates domain constraints (2..601 flows, up to 600 whole periods, explicit ratePercent) that reinforce the schema's bounds and enums.

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 names the concrete computation set: NPV over time-zero-first cash flows, present/future value, beginning/end annuities, and equivalent annual value. Combined with the schema's mode enum, an agent can tell exactly which class of financial math this tool performs and that it is distinct from sibling tools like buscalc_equipment_loan_payment or buscalc_sensitivity.

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

Usage Guidelines3/5

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

It gives useful usage rules — supply units/modelVersion only when listed in inputSchema, follow required fields and exact choices, and nest the payload under inputs — but never states when to pick this tool over a sibling such as buscalc_equipment_loan_payment or buscalc_markup_vs_margin. Mode selection guidance ('npv' vs 'value' vs 'annuity' vs 'equivalent_annual') is left to the schema rather than spelled out in prose.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources