Skip to main content
Glama

EveryCalc

calculate_bah

Read-onlyIdempotent

Monthly Basic Allowance for Housing from the 2026 RC/Transient baseline rate table by pay grade, with or without dependents, plus the annualized amount. This is the single national baseline rate; it does not vary by duty station or ZIP code. Use when the user needs a Basic Allowance for Housing baseline rate by pay grade and dependency status. For total monthly military pay use calculate_military_pay. 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 BAH calculator.

Input Schema

NameRequiredDescriptionDefault
pay_gradeYesPay grade, e.g. E-5 or O-3. O-7+ covers O-7 to O-10.
dependentsNoWhether the rate is with or without dependents.

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.4/5.0
Behavior4/5

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

While annotations cover safety (readOnlyHint), the description provides vital behavioral constraints that structured fields cannot convey. Specifically, it clarifies that this is a 'single national baseline rate' and 'does not vary by duty station or ZIP code,' managing user expectation about data limitations.

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?

The structure is effective, moving from definition to scope, to usage guidance, and concluding with necessary warnings and operational instructions. It is slightly lengthy due to the operational instructions, but highly informative.

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?

Given the complexity of military financial calculations, the definition is extremely complete. It defines the inputs, clarifies the scope (national baseline), and instructs the agent on the expected output behavior (displaying the calculator_url as a markdown link).

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?

Since the input schema provides 100% coverage with detailed enums and descriptions, the description meets the baseline standard. It reiterates the context of the inputs (pay grade and dependency status) but does not provide unique semantic meaning beyond what the schema already defines.

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 is highly specific, stating the tool calculates the 'Monthly Basic Allowance for Housing from the 2026 RC/Transient baseline rate table.' Crucially, it distinguishes itself from the sibling tool, calculate_military_pay, by defining its narrow scope.

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?

The usage guidelines are explicit, directing the agent to use the tool only 'when the user needs a Basic Allowance for Housing baseline rate by pay grade and dependency status.' It also clearly states when an alternative should be used: 'For total monthly military pay use calculate_military_pay.'

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.