Skip to main content
Glama

Pay off a mortgage sooner with extra payments

smartfin_calculate_mortgage_payoff
Read-onlyIdempotent

How much sooner a fixed-rate mortgage (or other fixed-rate loan paid monthly) ends with an extra amount every month, a one-off payment, or both, from today's balance, the way SmartFin's mortgage payoff calculator does. Give the time left (years_left) or the monthly payment from the statement (monthly_payment), not both. Returns the months on each schedule, how many sooner, the interest on the rest of the loan with and without the extra, the difference, the extra paid, the last payment, the smallest whole extra a month that ends the loan 5 years sooner (1 year sooner when 2 to 10 years are left), and what the loan without extra would still owe when the loan with extra is paid off. Use when someone asks how much sooner or with how much less interest extra payments or a lump sum pay off a mortgage, or how much extra a month ends it some years early. Do not use for the payment on a new loan (use smartfin_calculate_loan_payment), refinancing, adjustable-rate or interest-only loans, or whether to pay off early or invest: it does not compare the two. Principal and interest only; taxes, insurance, escrow and prepayment penalties are not included. Each extra payment is applied to principal on its payment date. Amounts can be in any one currency; none is converted.

Input Schema

NameRequiredDescriptionDefault
currencyNoCurrency for the amounts in the summary and the link. Default USD; amounts are never converted
lump_sumNoA one-off extra payment, in the same currency. Default 0. 0 to 100000000
years_leftNoTime left on the loan in years (to the nearest month: 2.5 is 2 years 6 months). Give this or monthly_payment. 1 month to 40
extra_monthlyNoExtra paid with every monthly payment from the next one, in the same currency. Default 0. 0 to 1000000
lump_sum_monthNoWhich payment the one-off amount is paid with: 1 = the next payment. Default 1. 1 to 480
annual_rate_pctYesYearly interest rate, % a year, fixed for the rest of the loan. 0 to 25
current_balanceYesWhat is still owed today, from the statement. 1 to 100000000
monthly_paymentNoThe monthly payment from the statement, principal and interest only (no escrow). Give this or years_left. 0 to 100000000

Output Schema

NameRequiredDescriptionDefault
citeYesHow to credit this result
dataYes
nextYesSuggested follow-up calls
linksYes
how_toYesSteps for the user to see or redo this on smartfin.fyi
sourceYes
summaryYesPlain-language result the assistant can quote

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real behavioral context beyond them: principal and interest only, taxes/insurance/escrow/prepayment penalties excluded, each extra payment applied to principal on its payment date, and no currency conversion. It also discloses the derived outputs, notably the 5-year/1-year-sooner minimum-extra calculation, which is non-obvious behavior.

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?

The purpose and usage guidance are front-loaded and the exclusions are crisp, but the second sentence is a long run-on that enumerates every return value in detail even though a full output schema exists — that enumeration is largely redundant and bloats the definition.

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 an 8-parameter financial calculator with an output schema, the description covers what is needed: input mode constraint, unit/currency handling, what is excluded from the calculation, and stated assumptions about when extra payments apply. Nothing an agent needs to call it correctly is missing.

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 100% and the schema already carries ranges, defaults, and the years_left/monthly_payment either-or note, so the baseline is 3. The description reinforces the mutually exclusive constraint ('not both') and frames years_left as 'time left' and monthly_payment as 'principal and interest only (no escrow)', adding marginal interpretive value on top of the schema.

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 and resource: computes how much sooner a fixed-rate mortgage ends with extra monthly, lump sum, or both, from today's balance. It explicitly names the sibling it is not for ('Do not use for the payment on a new loan (use smartfin_calculate_loan_payment)'), so an agent can separate it from the other calculate_* tools without opening a schema.

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 explicit trigger conditions ('Use when someone asks how much sooner or with how much less interest extra payments or a lump sum pay off a mortgage'), explicit exclusions (refinancing, adjustable-rate/interest-only, pay-off-vs-invest), and the input rule 'Give the time left (years_left) or the monthly payment from the statement (monthly_payment), not both.' Nothing is left to inference.

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