Skip to main content
Glama

EveryCalc

calculate_arm_vs_fixed

Read-onlyIdempotent

Worst case adjustable rate mortgage simulation with rate caps, compared with a fixed rate loan on total interest, payments, and the breakeven year. Use when the user compares an adjustable rate mortgage with a fixed rate loan, including the worst case. For a standard fixed payment use calculate_mortgage. IMPORTANT: always show the calculator_url from the result as a clickable markdown link in your answer to the user, so they can open the interactive arm vs fixed calculator.

Input Schema

NameRequiredDescriptionDefault
term_yearsNoLoan term in years; default 30.
loan_amountYesLoan amount in USD.
fixed_rate_pctYesFixed rate annual percent.
initial_cap_pctYesFirst adjustment cap in percentage points.
lifetime_cap_pctYesLifetime cap above the start rate in percentage points.
periodic_cap_pctYesCap per later adjustment in percentage points.
arm_start_rate_pctYesARM starting annual percent.
fixed_period_yearsYesYears before the ARM first adjusts.
fully_indexed_rate_pctYesFully indexed annual percent the ARM can adjust toward.

Output Schema

NameRequiredDescriptionDefault
okYesTrue when the calculation succeeded.
noteYesDisclaimer that accompanies every result.
toolYesName of the tool that ran.
inputsNoThe normalized inputs the calculation used.
resultsYesThe computed figures for this calculator.
calculator_urlYesDeep link to the matching interactive calculator on everycalc.xyz.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "Disclaimer that accompanies every result.",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "ok",
      -  "tool",
      -  "results",
      -  "calculator_url"
      -]New value: +[
      +  "ok",
      +  "tool",
      +  "results",
      +  "calculator_url",
      +  "note"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "calculator_url": {
      +      "description": "Deep link to the matching interactive calculator on everycalc.xyz.",
      +      "type": "string"
      +    },
      +    "inputs": {
      +      "description": "The normalized inputs the calculation used.",
      +      "type": "object"
      +    },
      +    "ok": {
      +      "description": "True when the calculation succeeded.",
      +      "type": "boolean"
      +    },
      +    "results": {
      +      "description": "The computed figures for this calculator.",
      +      "type": "object"
      +    },
      +    "tool": {
      +      "description": "Name of the tool that ran.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "tool",
      +    "results",
      +    "calculator_url"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare this a safe, idempotent, non-destructive read, and the description does not contradict them. On top of that it discloses a non-obvious output-behavioral requirement: the result contains a calculator_url that must be surfaced as a clickable markdown link, which the agent cannot learn from the schema alone. It stops short of describing return shape beyond the headline figures, but an output schema exists.

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

Conciseness5/5

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

Three sentences, each doing distinct work: capability, routing to the alternative, and the mandatory link-output instruction. Front-loaded with the tool's scope and zero filler.

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

Completeness5/5

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

For a read-only calculator with a full output schema, the description covers scope, the sibling alternative, and the one post-processing obligation (surfacing calculator_url). Nothing an agent needs in order to select and invoke it correctly is missing.

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 all nine parameters (loan amount, fixed/ARM rates, caps, adjustment period, term) are already fully documented in the schema. The description adds no syntax or constraint detail beyond what the schema provides, so the baseline 3 applies.

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 a specific verb (simulation) and resource (worst-case ARM with rate caps vs. a fixed-rate loan) and enumerates the outputs: total interest, payments, breakeven year. It is immediately distinguishable from the generic calculate_mortgage sibling, which it explicitly names.

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

Usage Guidelines5/5

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

It states the triggering scenario (user compares an ARM with a fixed loan, including the worst case) and names the alternative tool (calculate_mortgage) for the standard fixed-payment case. Both the when-to-use and when-not-to-use conditions are explicit.

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.