Skip to main content
Glama

Senaro Personal Finance

Refinance Break-Even Analysis

calculate_refi_breakeven
Read-onlyIdempotent

Calculation, not advice. Verify with a professional before acting. Deterministic mortgage refinance break-even analysis. Given your current loan (balance, rate, remaining term) and a refinance offer (new rate, new term, closing costs, optional points), computes:

  • monthly P&I savings;

  • the cash-flow break-even month (Senaro's formula: total refinance cost divided by monthly savings, rounded up to a whole month, built on the payback test the CFPB toolkit describes);

  • the interest delta over your remaining-term horizon, and each loan's interest over its whole schedule (the current loan's remaining term, the new loan's full term);

  • a term-matched scenario that isolates the rate cut from a term reset;

  • a term-reset-trap flag (a longer term and a lower payment, but more interest over the new loan's full term than over the current loan's remaining term); and

  • the economic break-even (net-worth crossover) month under an equal-outflow model: both sides spend the same each month; the side that keeps the current loan starts with the upfront refinance cost invested at month 0 (nothing when costs are rolled in); money not spent on a payment is invested at investment_return_pct. The search runs to the end of the longer loan term, and stops earlier where a loan's term ends with money still owed.

Rate-and-term refis only (cash-out and tax effects are out of scope).

Pick this when refinancing your existing mortgage into a new rate and term is the question; pick compare_mortgage_terms when comparing two mortgage structures on a purchase you have not yet taken out.

All defaults cite primary sources (LodeStar/ALTA closing-cost data, the CFPB toolkit's payback test). Scalar output, no chart series. payoff_months and payoff_month_shift use {status, value, explanation}; the two break-evens use {code, month, explanation}.

Input Schema

NameRequiredDescriptionDefault
pointsNoDiscount points paid at closing, where 1.0 means 1% of the loan amount: the current balance when costs are paid upfront, or, when roll_costs_into_loan is true, the new loan amount, which includes the financed closing costs and points. Decimal from 0 to 4. Optional; defaults to 0 when omitted.
chart_titleNoReserved for the chart pipeline; validated but not yet used. Must not contain em-dashes or en-dashes. Max 120 characters. Optional.
closing_costsNoExplicit closing costs in dollars, excluding points; total upfront cost is closing_costs plus the points cost. Decimal from 0 to 1,000,000,000. Optional; omitting it uses the cited default of 0.67% of the current balance (LodeStar 2026). An IMMEDIATE break-even requires total upfront cost to be zero AND monthly_savings to be non-negative AND roll_costs_into_loan false, i.e. closing_costs AND points both 0, not closing_costs alone; a zero-total-cost refi into a worse deal (negative monthly_savings) reports NEAR_ZERO_OR_NEGATIVE_SAVINGS instead.
current_balanceYesOutstanding principal you would refinance. Decimal, greater than 0 and at most 1,000,000,000. REQUIRED, no default.
new_term_monthsYesThe new loan term in months. Integer from 1 to 480. REQUIRED, no default.
new_annual_rate_pctYesThe offered refinance rate as a percentage. Decimal from 0 to 20. REQUIRED, no default.
roll_costs_into_loanNoWhether closing costs and points are added to the new principal instead of paid upfront. When true, points are a percentage of the new loan amount; cash-flow break-even reports COSTS_ROLLED_INTO_LOAN; and the economic break-even, when requested, compares the two loans with the financed costs in the new principal and no upfront cash. Optional; defaults to false when omitted.
investment_return_pctNoAnnual return used for the economic (net-worth crossover) break-even, an EFFECTIVE ANNUAL rate: it compounds money not spent on a payment and, when costs are paid upfront, the upfront refinance cost that keeping the current loan leaves invested. The monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from 0 to 30. Optional; omitting it uses the cited long-run S&P 500 nominal total-return default, about 10%; call list_defaults for the exact current value.
remaining_term_monthsYesMonths left on the current loan. Integer from 1 to 480. REQUIRED, no default.
current_annual_rate_pctYesCurrent loan's annual rate as a percentage, e.g. 6.5 not 0.065. Decimal from 0 to 20. REQUIRED, no default.
current_monthly_paymentNoYour actual statement P&I payment. Decimal, greater than 0 and at most 1,000,000,000. Optional; when supplied it overrides the formula-derived payment, so match your statement. Rounded to the cent, it must be greater than the first month's interest: current_balance rounded to the cent, times current_annual_rate_pct / 100 / 12, rounded to the cent.
compute_economic_break_evenNoWhether to compute the economic (net-worth crossover) break-even. When false, economic_break_even reports NOT_REQUESTED; every other field is still returned. Optional; defaults to true when omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / closing_costs / description
      Previous value: -"Explicit closing costs in dollars, excluding points; total upfront cost is closing_costs plus the points cost. Decimal from 0 to 1,000,000,000. Optional; omitting it uses the cited default of 0.67% of the loan (LodeStar 2026). An IMMEDIATE break-even requires total upfront cost to be zero (or non-positive) AND monthly_savings to be non-negative, i.e. closing_costs AND points both 0, not closing_costs alone; a zero-total-cost refi into a worse deal (negative monthly_savings) reports NEAR_ZERO_OR_NEGATIVE_SAVINGS instead."New value: +"Explicit closing costs in dollars, excluding points; total upfront cost is closing_costs plus the points cost. Decimal from 0 to 1,000,000,000. Optional; omitting it uses the cited default of 0.67% of the current balance (LodeStar 2026). An IMMEDIATE break-even requires total upfront cost to be zero AND monthly_savings to be non-negative AND roll_costs_into_loan false, i.e. closing_costs AND points both 0, not closing_costs alone; a zero-total-cost refi into a worse deal (negative monthly_savings) reports NEAR_ZERO_OR_NEGATIVE_SAVINGS instead."
    • changedInput schema / properties / compute_economic_break_even / description
      Previous value: -"Whether to compute the economic (net-worth crossover) break-even. When false, only the cash-flow break-even and interest delta are returned, and economic_break_even reports NOT_REQUESTED. Optional; defaults to true when omitted."New value: +"Whether to compute the economic (net-worth crossover) break-even. When false, economic_break_even reports NOT_REQUESTED; every other field is still returned. Optional; defaults to true when omitted."
    • changedInput schema / properties / current_monthly_payment / description
      Previous value: -"Your actual statement P&I payment. Decimal, greater than 0 and at most 1,000,000,000. Optional; when supplied it overrides the formula-derived payment, so match your statement."New value: +"Your actual statement P&I payment. Decimal, greater than 0 and at most 1,000,000,000. Optional; when supplied it overrides the formula-derived payment, so match your statement. Rounded to the cent, it must be greater than the first month's interest: current_balance rounded to the cent, times current_annual_rate_pct / 100 / 12, rounded to the cent."
    • changedInput schema / properties / investment_return_pct / description
      Previous value: -"Annual return used for the economic (invest-the-savings) break-even, an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from 0 to 30. Optional; omitting it uses the cited long-run S&P 500 nominal total-return default, about 10%; call list_defaults for the exact current value."New value: +"Annual return used for the economic (net-worth crossover) break-even, an EFFECTIVE ANNUAL rate: it compounds money not spent on a payment and, when costs are paid upfront, the upfront refinance cost that keeping the current loan leaves invested. The monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from 0 to 30. Optional; omitting it uses the cited long-run S&P 500 nominal total-return default, about 10%; call list_defaults for the exact current value."
    • changedInput schema / properties / points / description
      Previous value: -"Discount points paid at closing, where 1.0 means 1% of the loan. Decimal from 0 to 4. Optional; defaults to 0 when omitted."New value: +"Discount points paid at closing, where 1.0 means 1% of the loan amount: the current balance when costs are paid upfront, or, when roll_costs_into_loan is true, the new loan amount, which includes the financed closing costs and points. Decimal from 0 to 4. Optional; defaults to 0 when omitted."
    • changedInput schema / properties / roll_costs_into_loan / description
      Previous value: -"Whether closing costs and points are added to the new principal instead of paid upfront; cash-flow break-even then reports COSTS_ROLLED_INTO_LOAN. Optional; defaults to false when omitted."New value: +"Whether closing costs and points are added to the new principal instead of paid upfront. When true, points are a percentage of the new loan amount; cash-flow break-even reports COSTS_ROLLED_INTO_LOAN; and the economic break-even, when requested, compares the two loans with the financed costs in the new principal and no upfront cash. Optional; defaults to false when omitted."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare read-only/idempotent/non-destructive, and the description adds substantial context beyond them: it is deterministic and not advice, it names the exact break-even models and their assumptions (equal-outflow model, upfront cost invested at month 0, search horizon to end of longer term), discloses special status encodings (COSTS_ROLLED_INTO_LOAN, NEAR_ZERO_OR_NEGATIVE_SAVINGS, NOT_REQUESTED), and notes the scalar/no-chart-series output.

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?

Front-loaded with the 'calculation, not advice' caveat and the core definition, then a dense bullet list where each item carries distinct information (formulas, sources, output encodings). It is long but nearly every sentence earns its place; the source citations and default provenance are the only slightly padded portion.

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 12-parameter tool with no output schema, the description covers the return contract (scalar output, the {status,value,explanation} and {code,month,explanation} shapes), the model assumptions, scope limits, and where to get exact default values (list_defaults). An agent has everything needed to call and interpret it.

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 description coverage is 100%, so 3 is the baseline. The description adds model-level meaning to how parameters interact — points being a percentage of the new loan amount when costs are rolled in, investment_return_pct being an effective annual rate with an explicit monthly compounding step, and the immediate-break-even condition requiring both closing_costs and points to be zero. That is real added semantics beyond field-level schema text.

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 ('deterministic mortgage refinance break-even analysis') and enumerates the exact quantities computed (monthly P&I savings, cash-flow break-even month, interest delta, term-matched scenario, term-reset-trap flag, economic break-even). It also names the sibling it is not (compare_mortgage_terms) and the distinction (existing loan refi vs. new purchase structure).

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?

Explicit routing: 'Pick this when refinancing your existing mortgage into a new rate and term is the question; pick compare_mortgage_terms when comparing two mortgage structures on a purchase you have not yet taken out.' It also states scope exclusions (rate-and-term only; cash-out and tax effects out of scope).

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