Skip to main content
Glama

Fi-Plan

Analyze refinancing a loan at a new rate

loan_refinance
Read-onlyIdempotent

Pure what-if: closes the loan at refinance_month (outstanding balance settled) and restarts it at new_rate over new_tenure months. Returns outstanding balance, old vs new EMI, remaining interest vs new total interest, interest_saved, net_savings (after optional foreclosure_charge) and breakeven_months (null when the new EMI is not lower). Read-only — to persist, update the old loan's end_month and add the new loan.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountYesOutstanding loan principal at refinance_month, in rupees.
tenureYesTotal tenure of the existing loan in months.
new_rateYesAnnual interest rate of the new loan in percent.
new_tenureYesTenure of the new loan in months.
interest_rateYesCurrent annual interest rate in percent.
refinance_monthYesLoan-relative month the refinance happens (outstanding balance is settled).
foreclosure_chargeNoForeclosure/prepayment penalty in rupees (default 0).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / amount / description
      Added value: +"Outstanding loan principal at refinance_month, in rupees."
    • addedInput schema / properties / foreclosure_charge / description
      Added value: +"Foreclosure/prepayment penalty in rupees (default 0)."
    • addedInput schema / properties / interest_rate / description
      Added value: +"Current annual interest rate in percent."
    • addedInput schema / properties / new_rate / description
      Added value: +"Annual interest rate of the new loan in percent."
    • addedInput schema / properties / new_tenure / description
      Added value: +"Tenure of the new loan in months."
    • addedInput schema / properties / refinance_month / description
      Added value: +"Loan-relative month the refinance happens (outstanding balance is settled)."
    • addedInput schema / properties / tenure / description
      Added value: +"Total tenure of the existing loan in months."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint, idempotentHint), and the description reinforces it ('Read-only') while adding genuine behavioral context: the existing loan is closed/settled at refinance_month, foreclosure_charge is optional, and breakeven_months is null when the new EMI is not lower. These are non-obvious semantics not derivable from annotations, though it does not discuss precision or rounding.

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?

Two dense sentences with the simulation model front-loaded and the output list and read-only caveat following; every clause carries information. Slightly packed, but nothing is redundant.

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 compensates by enumerating the returned fields (outstanding balance, old vs new EMI, interest_saved, net_savings, breakeven_months) including the null edge case, plus the persistence path and read-only nature. 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 the baseline is 3, and the description adds interpretive meaning on top: refinance_month settles the outstanding balance, and foreclosure_charge is optional in the net_savings computation. It does not clarify how amount relates to the amortization schedule at refinance_month, so it stays just above baseline.

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 opens with a precise verb+resource framing ('Pure what-if: closes the loan at refinance_month ... and restarts it at new_rate') and distinguishes itself from siblings like loan_amortization and simulate_plan by being an analytical refinance simulation with no persistence. An agent can tell exactly what this computes without opening the schema.

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?

It explicitly states the read-only condition and the alternative path when mutation is wanted ('to persist, update the old loan's end_month and add the new loan'), which is clear when-to-use guidance. It does not name a sibling tool as the alternative, so it falls short of a 5.

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.