Skip to main content
Glama
onehome-mcp

onehome-mcp

by chrischall

Calculate mortgage payment (local)

onehome_calculate_mortgage
Read-onlyIdempotent

Calculate monthly mortgage payments and total loan interest with a full PITI breakdown, including taxes, insurance, HOA, and PMI. Compare scenarios using home price, rate, and down payment.

Instructions

Local-only mortgage payment calculator. Returns a full PITI breakdown (principal + interest, property tax, insurance, HOA, PMI) and total interest over the life of the loan. No network call — fully deterministic, safe to use for scenario comparison without burning a fetch. Provide either down_payment OR down_payment_percent; defaults to 20%. Property tax can be given as property_tax_annual or property_tax_rate (% of home price). PMI applies automatically when LTV > 80% and pmi_rate is provided.

Input Schema

NameRequiredDescriptionDefault
pmi_rateNoAnnual %, applied when LTV > 80%
home_priceYes
hoa_monthlyNo
down_paymentNo
interest_rateYesAnnual %, e.g. 6.5
loan_term_yearsNoDefault 30, max 50
insurance_annualNo
property_tax_rateNoAnnual % of home price
property_tax_annualNo
down_payment_percentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.1.5
    • changedInput schema / properties / loan_term_years / description
      Previous value: -"Default 30"New value: +"Default 30, max 50"
    • changedInput schema / properties / loan_term_years / maximum
      Previous value: -9007199254740991New value: +50
  2. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. First observedv0.13.1

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, so the safety profile is largely covered. The description adds genuinely useful behavior beyond that: 'fully deterministic,' no network call, the automatic PMI trigger when LTV > 80%, and the 20% down-payment default. It still does not describe the response shape or rounding, but it carries good weight.

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?

Four sentences, each earning its place, with purpose and return contents front-loaded ahead of the parameter rules. Slightly dense but no filler or repetition.

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?

There is no output schema, so the description correctly takes on the burden of describing return values (PITI breakdown and lifetime interest). For a 10-parameter deterministic calculator with annotations covering safety, this is nearly complete, missing only minor details like currency or rounding conventions.

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?

With only 40% schema description coverage across 10 params, the description compensates well by resolving the mutually-exclusive pairs (down_payment OR down_payment_percent, property_tax_annual OR property_tax_rate) and the conditional PMI rule. It leaves hoa_monthly, insurance_annual, and loan_term_years unexplained, though those are self-evident from their names.

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 description states a specific verb and resource ('mortgage payment calculator') and enumerates the returned components (PITI: principal + interest, property tax, insurance, HOA, PMI, plus total interest). It does not explicitly differentiate itself from the sibling onehome_calculate_affordability, but the 'local-only payment calculator' framing is distinct enough that an agent can distinguish the two.

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?

It gives clear context for when to reach for this tool: 'safe to use for scenario comparison without burning a fetch,' which implicitly routes the agent here instead of a network-backed sibling. It does not, however, name the alternative (e.g. calculate_affordability) or state when-not to use it.

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