Skip to main content
Glama

Senaro Personal Finance

Refinance Break-Even Analysis

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 (total refinance cost divided by monthly savings, CFPB convention); the lifetime interest delta over your remaining-term horizon; a term-matched scenario that isolates the rate cut from a term reset; a term-reset-trap flag (lower payment but higher lifetime interest from extending the term); and the economic break-even (net-worth crossover) month using an equal-outflow invest-the-savings model. Rate-and-term refis only (cash-out and tax effects are out of scope). All defaults cite primary sources (LodeStar/ALTA closing-cost data, CFPB break-even convention). Scalar output, no chart series.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolArgumentsYesJSON object with these parameters: REQUIRED: current_balance: decimal > 0. Outstanding principal you would refinance. current_annual_rate_pct: decimal [0, 20] as a percentage, e.g. 6.5 not 0.065. remaining_term_months: int [1, 480]. Months left on the current loan. new_annual_rate_pct: decimal [0, 20] as a percentage. The offered rate. new_term_months: int [1, 480]. The new loan term. OPTIONAL: current_monthly_payment: decimal > 0. Your actual statement P&I payment; overrides the formula-derived payment when supplied (match your statement). closing_costs: decimal >= 0. Explicit closing costs in dollars; overrides the cited default (0.67% of loan, LodeStar 2026). Excludes points -- total upfront cost is closing_costs + points cost. 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. points: decimal [0, 4] (default 0). Discount points at closing (1.0 = 1% of loan). roll_costs_into_loan: bool (default false). When true, closing costs + points are added to the new principal instead of paid upfront; cash-flow break-even then reports COSTS_ROLLED_INTO_LOAN. investment_return_pct: decimal [0, 30], an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1 (default: ~10.0%, the cited long-run S&P 500 nominal total-return default; call list_defaults for the exact current value). Annual return used for the economic (invest-the-savings) break-even. compute_economic_break_even: bool (default true). When false, only the cash-flow break-even and interest delta are returned (economic break-even reports NOT_REQUESTED). chart_title: string (optional). Reserved for the chart pipeline. Must not contain em-dashes or en-dashes. Max 120 characters.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare it read-only/idempotent, and the description adds substantial behavior beyond that: deterministic computation, cited primary-source defaults, the CFPB break-even convention, the term-reset-trap flag, the economic (invest-the-savings) model, and edge-case reporting states (COSTS_ROLLED_INTO_LOAN, NOT_REQUESTED).

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-loads the mandatory disclaimer, then the purpose, then outputs, then scope — a logical order with no filler. It is dense and somewhat long, but each clause carries distinct information.

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?

With no output schema, the description carries the full burden of describing return values, and it enumerates every scalar output plus non-numeric status flags. Scope limits and default provenance are also covered, leaving nothing an agent needs before calling it.

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?

Schema coverage is 100% and the parameters are exhaustively documented in the schema itself. The description reinforces the two-sided (current vs. offer) framing and cites where defaults come from, but adds no syntax or format detail beyond the schema, so baseline 3 applies.

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 ('Deterministic mortgage refinance break-even analysis') and enumerates the exact scalar outputs it computes. An agent can distinguish it from siblings like compare_mortgage_terms or calculate_loan_payoff from the description alone.

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?

Explicitly scopes the tool ('Rate-and-term refis only; cash-out and tax effects are out of scope') and describes required inputs (current loan + refinance offer). It does not, however, name the sibling to use instead for those excluded cases or contrast against compare_mortgage_terms.

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