Skip to main content
Glama

BusCalc — Business & Trade Calculations

US utility and heating energy calculations

buscalc_utility_energy_calculations
Read-onlyIdempotent

Four supplied-price methods: electricity measured kWh or input power/hours/count/load, and natural gas, propane or heating oil from measured fuel or useful heat/efficiency. Fetch dated EIA references separately; no price is fetched by math. Explicit units, inactive fields zero, period costs and price scenarios. Returns an unsigned replayable receipt. 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": "electricity",
        "figures": {
          "load": 0,
          "count": 0,
          "entry": "measured",
          "hours": 0,
          "other": 0,
          "power": 0,
          "price": 0.16,
          "quantity": 100,
          "comparison": 0.2
        }
      }
    },
    "name": "buscalc_utility_energy_calculations"
  }
}

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. Added

TDQS

A3.6/5.0
Behavior4/5

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

The annotations already establish readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond that: the return is an 'unsigned replayable receipt' (deterministic, not a signed/authoritative document), no price is fetched or inferred, and inactive fields must be zero. The remaining gap is that 'unsigned replayable receipt' is never unpacked, leaving the agent unsure what the response actually contains.

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?

It is front-loaded with the useful mode enumeration and stays short, but the prose is telegraphic and reads as a pile of fragments ('Explicit units, inactive fields zero, period costs and price scenarios'). The closing line about not passing 'the REST calculator field inside MCP arguments' is a leaky implementation note that adds confusion rather than usable guidance for an agent.

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?

An output schema exists, so return values need not be described, and annotations cover the safety profile; what remains for the description is mode selection and input packing, both of which are addressed. Completeness is only slightly short because the units and modelVersion parameters are never given meaning anywhere, and the REST-field warning implies an input shape the schema does not obviously expose.

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?

Top-level schema coverage registers at 0% (units, inputs, modelVersion carry no descriptions), but the nested figures properties are documented in exceptional detail, so much of the semantic burden is already carried by the schema. The description contributes the non-obvious wrapping rule ('Put tool fields inside inputs'), the 'inactive fields zero' convention and the distinction between applied price and comparison scenario, but it does not explain units or modelVersion, so it only partially compensates.

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

Purpose4/5

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

The first sentence names the concrete operation and enumerates the four modes (electricity, natural gas, propane, heating oil) plus both entry styles (measured vs. input power/heat with efficiency), which is far more specific than the title. It stops short of stating in one plain phrase that it computes period energy cost, and the mode list is dense enough that an agent must parse carefully, so it is clear but not maximally crisp.

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?

'Fetch dated EIA references separately; no price is fetched by math' tells the agent this tool will not look up prices, which implicitly routes price lookup elsewhere (a sibling such as reference_price_calculations), and 'Supply units or modelVersion only when listed in inputSchema' sets a conditional inclusion rule. However, no alternative tool is named and there is no explicit statement of when to choose this over the reference-price sibling, so guidance is implied rather than spelled out.

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