Skip to main content
Glama

FreeDailyPro Calculators

converters_student_loan

Read-onlyIdempotent

Student loan calculator

Input Schema

NameRequiredDescriptionDefault
ibrNoAlso show IBR at 10% (loans from 1 July 2014, 20 years) or 15% (older loans, 25 years) of discretionary income. Only for borrowers whose loans were all made before 1 July 2026.
stateNoTwo-letter state code. AK and HI use their own poverty guideline for IBR; anything else the 48-state figure.
incomeNoYearly adjusted gross income. Adds incomeDriven: the Repayment Assistance Plan payment (and IBR with ibr) beside the standard plan, with total paid, term and forgiven balance.
principalYes
refinanceNoA private refinance on the same balance: returns the new payment and the interest saved or added.
dependentsNoDependents claimed on the tax return (RAP takes $50 a month off for each). With income.
annualRatePctYes
householdSizeNoHousehold size for the IBR poverty guideline. With income. Default 1.
monthlyPaymentNoThe payment you make. Send this or standardTermYears.
firstPaymentDateNoOptional date the first payment is due, as YYYY-MM-DD. Adds firstPaymentDate, lastPaymentDate and payoffDate to the result. It only labels the result; the months, interest and totals do not change. A payment day of 29 to 31 moves to the last day of shorter months.
standardTermYearsNoUse the standard payment for this many years instead of sending monthlyPayment.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / dependents
      Added value: +{
      +  "description": "Dependents claimed on the tax return (RAP takes $50 a month off for each). With income.",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / householdSize
      Added value: +{
      +  "description": "Household size for the IBR poverty guideline. With income. Default 1.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / ibr
      Added value: +{
      +  "description": "Also show IBR at 10% (loans from 1 July 2014, 20 years) or 15% (older loans, 25 years) of discretionary income. Only for borrowers whose loans were all made before 1 July 2026.",
      +  "enum": [
      +    10,
      +    15
      +  ],
      +  "type": "number"
      +}
    • addedInput schema / properties / income
      Added value: +{
      +  "description": "Yearly adjusted gross income. Adds incomeDriven: the Repayment Assistance Plan payment (and IBR with ibr) beside the standard plan, with total paid, term and forgiven balance.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / monthlyPayment / description
      Added value: +"The payment you make. Send this or standardTermYears."
    • addedInput schema / properties / refinance
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "A private refinance on the same balance: returns the new payment and the interest saved or added.",
      +  "properties": {
      +    "annualRatePct": {
      +      "maximum": 100,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    "years": {
      +      "maximum": 40,
      +      "minimum": 1,
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "annualRatePct",
      +    "years"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / standardTermYears
      Added value: +{
      +  "description": "Use the standard payment for this many years instead of sending monthlyPayment.",
      +  "type": "number"
      +}
    • addedInput schema / properties / state
      Added value: +{
      +  "description": "Two-letter state code. AK and HI use their own poverty guideline for IBR; anything else the 48-state figure.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "principal",
      -  "annualRatePct",
      -  "monthlyPayment"
      -]New value: +[
      +  "principal",
      +  "annualRatePct"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / firstPaymentDate
      Added value: +{
      +  "description": "Optional date the first payment is due, as YYYY-MM-DD. Adds firstPaymentDate, lastPaymentDate and payoffDate to the result. It only labels the result; the months, interest and totals do not change. A payment day of 29 to 31 moves to the last day of shorter months.",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
  3. First observed

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds nothing beyond that - no mention of which optional inputs unlock which result blocks (IBR, RAP, refinance savings) or of any limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single phrase is short but under-specified rather than concise; nothing is front-loaded because there is nothing to front-load. Every sentence that would earn its place (scope, key modes, output behavior) is absent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, a nested refinance object, enum and state-dependent IBR logic, and no output schema, this tool needs substantial description. The three-word description leaves an agent unable to tell what the calculator produces or how the optional blocks interact.

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 82%, above the threshold where the schema alone is considered adequate, so the baseline of 3 applies. The description contributes no additional parameter meaning - notably it never clarifies the monthlyPayment versus standardTermYears choice or the income-gated IBR/RAP outputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Student loan calculator" only restates the tool name and title in noun form; there is no verb describing what the tool actually computes or returns. It gives no signal distinguishing it from the sibling calculate_loan or converters_amortization, both of which plausibly overlap with loan math.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of the closest alternatives (calculate_loan, converters_amortization). An agent must guess whether this tool or a sibling is the right one for a plain amortization versus income-driven repayment scenarios.

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