Skip to main content
Glama

Senaro Personal Finance

Debt Payoff vs. Invest

compare_payoff_vs_invest
Read-onlyIdempotent

Calculation, not advice. Verify with a professional before acting. Compares the guaranteed return of debt payoff against expected investment returns over a time horizon.

Accounts for post-payoff investing, tax implications, and finds the break-even investment return rate. Works for credit cards, auto loans, student loans, personal loans, and mortgages.

Pick this when the alternative to investing is paying down an existing debt balance; pick calculate_opportunity_cost when there is no debt in the picture and the alternative is simply forgoing recurring spending to invest it instead.

The response echoes debt_type (canonical lowercase enum the projection was computed for) and debt_type_label (display-ready string, e.g. 'student loan') at the top level.

HEAVY tool: use output='summary' (default) for the headline comparison or output='inline' for the full month-by-month schedule.

When no projection can be computed (very long horizon, very high rate, or very large amounts), the response is { meta, not_representable: { code, explanation } } instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
outputNoValid values: 'summary' (default), 'inline'. 'summary' returns headline comparison scalars, milestones, and citations with monthly_schedule stripped. 'inline' returns the full payload including the month-by-month monthly_schedule[].
debt_typeYesDebt type: 'credit_card', 'auto', 'student', 'personal', or 'mortgage'. REQUIRED, no default.
chart_titleNoOverride for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional.
debt_apr_pctYesDebt annual percentage rate, e.g. 6.5 not 0.065. Decimal from 0 to 100. REQUIRED, no default.
debt_balanceYesCurrent debt balance. Decimal, greater than 0. REQUIRED, no default.
extra_monthlyYesExtra monthly amount available for debt payoff or investing, the amount in question. Decimal, greater than 0. REQUIRED, no default.
full_scheduleNoWhether to return the full month-by-month schedule. Optional; defaults to false (compact schedule) when omitted.
minimum_paymentNoMinimum monthly payment. Decimal, at least 0. Optional; auto-calculated for amortizing loans when omitted or 0.
tax_bracket_pctNoTax bracket, e.g. 22 not 0.22. Decimal from 0 to 100. Optional; enables an after-tax comparison when supplied.
time_horizon_yearsNoProjection horizon. Integer, greater than 0. Optional; defaults to the greater of the payoff horizon or 10 years when omitted.
investment_return_pctNoExpected investment return, an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from 0 to 30. Optional; defaults to the cited long-run S&P 500 nominal return, about 10%, when omitted.
term_months_remainingNoMonths remaining on the debt. Integer, greater than 0. Required for non-credit-card debt types; optional for credit_card.
investment_tax_advantagedNoWhether the investment is tax-advantaged, e.g. 401k or IRA. Optional; defaults to false when omitted.
investment_volatility_pctNoInvestment volatility. Decimal. Optional; adds a volatility risk note when supplied.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/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 meaningful behavioral detail: the tool returns echoed debt_type/debt_type_label fields, has a not_representable error shape for extreme inputs, and is a calculation with a professional-verification caveat. No contradiction with annotations.

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?

The description is dense but well-structured: purpose first, scope, sibling routing, response shape, output modes, and error case. A few phrases restate schema details (e.g., output='summary' default), but every sentence earns its place and the critical scoping is front-loaded.

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 complex 14-parameter tool with no output schema, the description is notably complete: it covers the comparison's scope, when to use it, output variants, top-level response fields, and the not_representable failure mode. An agent has enough context to invoke it correctly without further inference.

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 description coverage is 100%, so each of the 14 parameters is already documented. The description adds contextual framing (post-payoff investing, tax implications, break-even) but does not explain any parameter beyond what the schema provides; it only slightly enriches output-parameter behavior (summary vs inline, not_representable).

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?

The description names the exact operation: 'Compares the guaranteed return of debt payoff against expected investment returns over a time horizon,' with a clear verb and resource. It also enumerates supported debt types and explicitly contrasts itself with calculate_opportunity_cost, making sibling differentiation immediate.

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?

Contains explicit when-to-use guidance: 'Pick this when the alternative to investing is paying down an existing debt balance; pick calculate_opportunity_cost when there is no debt.' It also gives output-selection guidance ('HEAVY tool: use output='summary' ... or output='inline'') and notes failure conditions with not_representable.

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