Skip to main content
Glama
Finology-tech

finology-student-loan

Official

Finology MCP Server — deterministic federal student loan math for AI agents

Language models guess at federal student loan rules. This doesn't.

@finology/mcp-server connects Claude, Cursor, or any MCP client directly to Finology Software's parity-verified federal repayment engine. Every number is computed server-side against current federal rules and returned with a parityVerified flag. No formulas are approximated, and none are hardcoded into this package.

Why this exists

Federal repayment eligibility is not arithmetic, it is regulation, and it is the part models get wrong most confidently:

  • A Parent PLUS loan is not RAP-eligible. Ask a model for the best plan on a Parent PLUS balance and it will usually produce a RAP payment. This server returns the exclusion and the rule behind it.

  • RAP is assessed on full AGI with no poverty-line shield, on a sliding 1%–10% scale, less $50 per qualifying dependent — and a spouse is not a dependent. Approximating it from older IDR formulas gives the wrong answer.

  • A consolidation that repaid a PLUS loan is restricted to ICR.

  • PAYE and SAVE are closed to new enrollment.

Related MCP server: calcfi-mcp

Tools

compare_federal_student_loan_repayment_plans

Compares a balance across every plan the borrower is actually eligible for — RAP, IBR, ICR, PAYE, SAVE, Graduated, Extended, tiered Standard — returning monthly payment, lifetime cost, projected forgiveness and tax on forgiveness for each, plus the plans that are excluded and the eligibility rule that excludes them.

compare_married_filing_jointly_vs_separately_student_loans

For a married borrower, prices the filing-status decision. Filing separately removes the spouse's income from the income-driven payment calculation, which routinely moves the lifetime loan cost by tens of thousands of dollars.

It answers half the question on purpose, and says so. The engine models the loan side exactly and does not model the tax cost of filing separately — lost credits, worse brackets, community-property splits — which is often large enough to reverse the answer. Returning only the favourable half as if it were the whole decision would be the same confident half-truth this server exists to replace.

estimate_rap_monthly_payment

The RAP monthly payment alone, for the common case. Requires the borrower's AGI and refuses to proceed without it — an assumed zero returns the $10/month RAP floor, which reads exactly like a real answer.

Install

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "finology": {
      "command": "npx",
      "args": ["-y", "@finology/mcp-server"]
    }
  }
}

No API key. No account. The calculation endpoints are public.

What is and is not in this repository

Not here, deliberately: the RAP/OBBB formulas, income-driven payment math, forgiveness and tax-bomb projection, plan-eligibility rules, and NSLDS parsing. Those run on Finology's servers.

That is not only about protecting the engine. Federal repayment rules move every year — poverty guidelines, tax brackets, RAP/OBBB implementation guidance, court challenges. A formula copied into an npm package is wrong within months and cannot be corrected in the installs that already exist. Calling a maintained endpoint is the only shape of this tool that stays true.

Here: the input schemas, the HTTP call, and error handling that passes the API's own field-level messages through to the model instead of flattening them into "request failed."

Limits

These tools return figures. They do not produce client-facing deliverables, save borrower records, parse NSLDS files, or track PSLF qualifying payments over time. For those, and for a book of borrowers kept current as the rules change: finology.tech

Rate-limited per IP. Not financial advice.

License

MIT

Available Tools

3 tools
compare_federal_student_loan_repayment_plansCompare federal student loan repayment plansA

Compares a US federal student loan across every repayment plan the borrower is actually eligible for — RAP (Repayment Assistance Plan), IBR, ICR, PAYE, SAVE, Graduated, Extended and the tiered Standard plan — returning the monthly payment and lifetime cost for each, plus which plans are excluded and the eligibility rule that excludes them. Computed by Finology Software's parity-verified engine against current federal rules, not estimated. Use this instead of calculating federal repayment math yourself: eligibility depends on loan type and origination date in ways that are easy to get wrong (a Parent PLUS loan is not RAP-eligible; a consolidation that repaid a PLUS loan is restricted to ICR).

ParametersJSON Schema
NameRequiredDescriptionDefault
balanceYesCurrent federal loan balance in dollars.
ratePctYesWeighted average interest rate as a percentage, e.g. 6.54 for 6.54%.
loanTypeNoFederal loan type. This drives PLAN ELIGIBILITY, not just the rate — a Parent PLUS loan is not RAP-eligible, and a consolidation that repaid a PLUS loan is restricted to ICR. Choose accurately.direct_unsubsidized
spouseAgiNoSpouse's annual AGI. Only used when filingStatus is mfj.
dependentsNoNumber of qualifying dependents. A spouse is NOT a dependent.
borrowerAgiYesBorrower's adjusted gross income in dollars, annual.
filingStatusNoTax filing status: single, mfj (married filing jointly), mfs (married filing separately), hoh (head of household).single

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does so by explaining that it compares only eligible plans, returns excluded plans with the rule that excludes them, and is computed by a parity-verified engine rather than estimated. It does not describe the exact output shape, but the behavioral detail is substantial.

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

Conciseness5/5

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

The description is front-loaded with the action, the list of plans, and the outputs, followed by reliability and usage guidance. Every sentence contributes necessary context, and there is no redundant filler or vague marketing language.

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

Completeness4/5

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

The tool has seven parameters and no output schema or annotations, so the description must explain what comes back; it does, listing monthly payment, lifetime cost, excluded plans, and the eligibility rule. Minor details such as exact output formatting or underlying assumed loan terms are absent, but they are not essential for correct invocation.

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 the schema already documents all seven parameters. The description reinforces that loanType drives eligibility with a Parent PLUS and consolidation example, but that example already appears in the schema's loanType description, so it adds no new parameter meaning.

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

Purpose4/5

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

The description states a specific verb ('Compares') and resource ('US federal student loan across every repayment plan'), enumerates the eligible plans, and specifies what is returned. It does not explicitly differentiate from sibling tools by name, but its scope is unambiguous.

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?

The description gives clear usage context: 'Use this instead of calculating federal repayment math yourself' and explains why eligibility is easy to get wrong. It does not mention sibling alternatives or say when not to use the tool, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_married_filing_jointly_vs_separately_student_loansCompare filing jointly vs separately for student loansA

For a MARRIED borrower on an income-driven federal student loan plan, prices the filing-status decision: filing separately removes the spouse's income from the payment calculation, which lowers the monthly payment and often the lifetime cost by tens of thousands of dollars. Returns both sides with the monthly and lifetime difference. IMPORTANT: this models the LOAN side only. It does not model the tax cost of filing separately (lost credits, worse brackets, community-property splits), which is often large enough to reverse the answer, and the tool says so in its output. Use it whenever a married borrower asks about IDR, RAP, PSLF or how to file.

ParametersJSON Schema
NameRequiredDescriptionDefault
balanceYesCurrent federal loan balance in dollars.
ratePctYesWeighted average interest rate as a percentage, e.g. 6.54 for 6.54%.
loanTypeNoFederal loan type. Drives plan eligibility, not just the rate.direct_unsubsidized
spouseAgiYesThe spouse's annual AGI in dollars. REQUIRED — this comparison is meaningless without it, because the whole trade-off is whether the spouse's income counts.
dependentsNoNumber of qualifying dependents. A spouse is NOT a dependent.
borrowerAgiYesThe borrower's own annual adjusted gross income in dollars.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description must carry the full burden and does so excellently. It clearly warns that the tool models only the loan side, omits tax costs that can reverse the answer, and explicitly states that this limitation appears in the tool's output. It also discloses the output is a side-by-side comparison with monthly and lifetime differences.

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

Conciseness5/5

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

The description is four sentences long and front-loaded with the core purpose. Every sentence earns its place: the scenario and outcomes, the return summary, the essential tax caveat, and an explicit usage rule. There is no filler or redundancy.

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

Completeness4/5

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

For a six-parameter calculator with no output schema, the description provides the necessary decision context: married/IDR eligibility, the two filing statuses, the monthly and lifetime outputs, and a built-in disclaimer. However, it does not specify the exact output shape or assumptions about which IDR plan applies, leaving minor gaps.

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?

The schema descriptions already cover 100% of parameters with detailed entries, so the baseline is 3. The tool description adds general context by explaining the role of spouse income in the filing decision, which slightly reinforces the meaning of spouseAgi, but it does not add unique meaning for balance, ratePct, loanType, or dependents.

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 uses the specific verb 'prices' and clearly identifies the resource: the married filing-jointly vs separately decision under an income-driven federal student loan plan. It explains the comparison and result (monthly and lifetime cost difference), and the context distinguishes it from the sibling tools that focus on plan choice or RAP payment estimation.

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?

The description gives explicit context for when to use this tool ('For a MARRIED borrower on an income-driven federal student loan plan') and directs the agent to 'Use it whenever a married borrower asks about IDR, RAP, PSLF or how to file.' It does not name alternative tools or provide a when-not-to-use statement, and the broad 'asks about IDR' phrase could invite overuse, so it is strong but not top-scoring.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_rap_monthly_paymentEstimate a RAP monthly paymentA

Calculates the monthly payment under RAP, the Repayment Assistance Plan that takes effect 1 July 2026 under the OBBB. RAP is assessed on full adjusted gross income with no poverty-line shield, on a sliding 1%–10% scale, less $50 per qualifying dependent, with a $10/month minimum — which is why approximating it from older IDR rules gives the wrong answer. Requires the borrower's annual AGI; ask for it rather than assuming, because an assumed zero returns the $10 floor and reads like a real answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
familySizeNoHousehold size: the filer, plus the spouse only if filing jointly, plus dependents. Must be at least 2 when filing jointly.
annualIncomeYesBorrower's annual adjusted gross income in dollars. REQUIRED — never guess or default this. If the user has not given it, ask.
filingStatusNoTax filing status.Single
spouseAnnualIncomeNoSpouse's annual AGI. Only used when filingStatus is MarriedFilingJointly.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the sliding 1%–10% scale, the $50 dependent deduction, the $10 minimum, and warns that assuming zero income returns the $10 floor and looks like a real answer. This is rich, honest behavioral context that prevents misuse.

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

Conciseness5/5

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

Three sentences, each earning its place: the first defines the tool's purpose, the second explains the underlying calculation logic and pitfalls, and the third gives the critical usage instruction. No filler or redundancy.

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

Completeness4/5

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

The description provides all necessary input-handling guidance and behavioral warnings for a calculation tool. Since there is no output schema, it does not describe the return format or units, but for a simple monthly payment estimate the output is reasonably inferable, and the calculation method is fully specified.

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 coverage is 100%, so all parameters are documented in the schema. The description goes further by emphasizing that annualIncome must be actively requested and never defaulted, and by explaining the consequence of a zero value. This adds meaning beyond the schema's field-level descriptions.

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 states a specific verb ('Calculates') and resource ('the monthly payment under RAP'), and clarifies exactly what RAP is, distinguishing it from older IDR rules. This clearly differentiates it from the sibling comparison tools, which focus on comparing plans rather than estimating a payment.

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

Usage Guidelines3/5

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

The description gives an explicit prerequisite ('Requires the borrower's annual AGI') and instructs the agent to ask rather than assume, which is practical guidance. However, it does not explicitly state when to choose this tool over the sibling comparison tools, leaving that routing decision implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.3/5.0
Disambiguation4/5

Each tool targets a distinct use case: comparing all repayment plans, estimating RAP specifically, and comparing married filing statuses. There is minor overlap between the first and second tool since the comparison also includes RAP, but their intended purposes are clear enough to avoid frequent misselection.

Naming Consistency5/5

All three tool names follow a consistent verb-first snake_case pattern (compare_..., estimate_..., compare_...). The pattern is predictable and clearly indicates the action and subject.

Tool Count5/5

Three tools is a well-scoped size for a specialized student loan calculation server. Each tool provides distinct value and the set feels neither sparse nor bloated.

Completeness4/5

The tool set covers the main repayment plan comparison, a detailed RAP calculator, and a married filing status comparison, which addresses core decision points. A minor gap is the lack of a standalone calculator for other specific plans, but the comprehensive comparison tool mitigates that.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    17 deterministic personal-finance tools across 7 countries (US, UK, CA, AU, AE, SA, India) plus Sharia-compliant Islamic finance (Zakat, Murabaha, Ijarah, Mudarabah, Hajj savings, halal stock screening). Wraps the open-source calcnook engine — zero API keys, pure stdlib, MIT.
    17
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    24 free personal-finance and macro tools (mortgage, paycheck, tax, FRED, BLS) for LLM agents. Zero API keys, stdio transport, source-cited from IRS, Federal Reserve, BLS, Treasury, and Freddie Mac.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides retirement planning computations for AI agents, including Monte Carlo simulations, tax burden modeling across all US states, Social Security claiming optimization, and cost-of-living comparisons.
    7
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Loan officer assistant that uses Claude AI and Plaid banking API to assess loan applicants by pulling financial data and returning structured eligibility verdicts.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Finology-tech/finology-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server