Skip to main content
Glama

HomeCalc — Canadian Mortgage & Tax Calculators

Canadian Mortgage Payment Calculator

mortgage_payment
Read-only

Calculate the periodic mortgage payment for a Canadian home. Call it ONE of two ways: (a) if the user gave a PURCHASE PRICE, pass homePrice + downPayment and CMHC insurance is applied when the down payment is under 20%; (b) if the user gave a MORTGAGE / LOAN AMOUNT (e.g. "payment on a $500,000 mortgage"), pass loanAmount on its own. Do NOT invent a purchase price in order to reach a loan amount — use loanAmount. Inventing a price changes the answer by several percent and attaches a CMHC premium the user does not owe.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
provinceNoProvince name, used only for CMHC PST on the premium
rateTypeNofixed
homePriceNoPurchase price in CAD, e.g. 650000. Use with downPayment. Omit if the user gave you the mortgage amount instead.
termYearsNo
loanAmountNoThe mortgage amount itself in CAD, when the user stated the loan rather than the purchase price. Mutually exclusive with homePrice. No CMHC premium is applied on this path — the amount is taken as the principal.
downPaymentNoDown payment amount in CAD (or percent if downPaymentType='percent'). Required when homePrice is used.
downPaymentTypeNoamount
paymentFrequencyNomonthly
amortizationYearsNoAmortization in years (max 25 insured, 30 uninsured/first-time new builds)
annualInterestRatePctYesAnnual interest rate as a percent, e.g. 5.25

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes further, disclosing that CMHC insurance is applied when the down payment is under 20%, that the loanAmount path takes the amount as principal with no premium, and that wrong-path input changes the result by several percent. It stops short of describing the return payload (no output schema exists, so a brief note on what comes back would help).

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 tightly written sentences, each earning its place, with the two-branch decision front-loaded ahead of the cautionary exclusion. No filler.

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?

For a 10-parameter, non-trivial calculator with no output schema, the description nails the one genuinely ambiguous decision (which of two input paths to take) and the CMHC consequence. It omits guidance on the remaining options (frequency, term, amortization, province), leaving those to the schema.

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?

Schema coverage is 60%, and the description adds real meaning beyond it: the homePrice+downPayment pairing, the mutual exclusivity of loanAmount, and the CMHC trigger condition. Parameters like province, rateType, termYears, paymentFrequency, and amortizationYears are not addressed in the description, though the schema covers several of them.

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?

States a specific verb+resource ('Calculate the periodic mortgage payment for a Canadian home') with clear scope. It is immediately distinguishable from siblings like mortgage_affordability, minimum_down_payment, and mortgage_penalty, which do different jobs.

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?

Gives two explicit calling modes keyed to what the user provided (purchase price vs. mortgage amount), plus an explicit exclusion: 'Do NOT invent a purchase price in order to reach a loan amount.' An agent knows exactly when to use each path and what error to avoid.

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