Skip to main content
Glama

BusCalc — Business & Trade Calculations

Statistics and regression

buscalc_statistics
Read-onlyIdempotent

Summarize 1–1000 numerical observations or fit unweighted least-squares y on x from 2–100 paired rows. Returns named descriptive results or slope, intercept, correlation, R squared and a prediction. No causal inference or time-series forecast. Inputs are structured JSON arrays, not executable expressions. 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": "describe",
        "values": [
          1,
          2,
          3
        ]
      }
    },
    "name": "buscalc_statistics"
  }
}

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": {
      +      "mode": "describe",
      +      "values": [
      +        1,
      +        2,
      +        3
      +      ]
      +    }
      +  }
      +]
  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, so the safety profile is covered. The description adds genuinely new behavior: the exact statistical outputs produced, the limitation to unweighted least squares, the exclusion of causal/time-series work, and the warning that inputs are data arrays rather than executable expressions. It does not discuss precision, rounding, or limits on the regression fit, which keeps it out of 5 territory.

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 first two sentences are tight and front-loaded, but the closing procedural sentences ('Follow its required fields and exact choices', 'Do not pass the REST calculator field...') are defensive boilerplate that restates schema enforcement and references an unexplained REST artifact. Roughly a third of the text is meta-instruction rather than tool semantics.

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?

With an output schema present, return values need not be enumerated, yet the description still summarizes them helpfully alongside the domain limits and input-shape constraints. For a nested oneOf schema with a `inputs` wrapper, this is close to complete; the only shortfall is the unclear `units` object, which no part of the definition meaningfully explains.

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 0%, so the description carries more burden, and it partially compensates by explaining that everything nests inside an `inputs` object and that the two modes take different payloads (values vs pairs+predict). However, it adds no meaning about `units` beyond a vague 'supply only when listed' hedge, and the trailing warning about a 'REST calculator field' references something not visible in the schema, leaving ambiguity rather than clarity.

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 first sentence names two concrete verbs (summarize, fit least-squares) with their resources, input ranges (1–1000 observations, 2–100 paired rows), and the y-on-x formulation, and the second sentence names the exact outputs. An agent can tell this apart from math siblings like linear_algebra or probability purely from the text, and the explicit 'no causal inference or time-series forecast' further narrows the scope.

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?

Gives clear conditions for each mode (describe vs regression) and explicit exclusions ('No causal inference or time-series forecast'), plus invocation rules such as putting fields inside `inputs` and only supplying units/modelVersion when listed. It never names a specific sibling alternative, so it falls short of a 5, but the when/when-not guidance is unambiguous.

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