# Finology Student Loan Calculator

> Student-loan math: RAP, IBR, ICR, PSLF. npx: no key. Remote: free login, no card, 5 questions total

- name: tech.finology/student-loan
- version: 0.4.7
- connection class: R2 (oauth_consent_once)
- trust: 96/100
- quality: 96/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/tech.finology%2Fstudent-loan
- tools: https://api.protogrid.dev/v1/servers/tech.finology%2Fstudent-loan/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "student-loan": {
      "type": "http",
      "url": "https://mcp.finology.tech/free"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-13d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 96/100 (strong)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: 83 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- warn `auth.cimd`: only Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,129 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know @finology/mcp-server@0.4.7

- tools: 4, about 1,129 tokens to load them all
- tool set hash: 7ecc506b74c1ad4fe5b19878eb59af56
- badge: [![protogrid quality](https://protogrid.dev/badge/tech.finology/student-loan.svg)](https://protogrid.dev/servers/tech.finology/student-loan)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- npm @finology/mcp-server@0.4.7: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.finology.tech/free (streamable-http, auth oauth2, reachable true, uptime30d 1)

## Packages

- npm @finology/mcp-server@0.4.7

## Tools (4)

- `compare_federal_student_loan_repayment_plans`: Compare every federal repayment plan a loan can elect (Standard, RAP, IBR, PAYE, ICR) on the current federal rules: monthly payment, lifetime cost, forgiveness timing and the estimated tax on forgiven balances. Plans the loan cannot elect are listed with the reason. For Parent PLUS it also runs the consolidation path unprompted, because that is the number that decides. loanType drives PLAN ELIGIBILITY, not just the rate: choose accurately.
- `compare_married_filing_jointly_vs_separately_student_loans`: Run the same federal loan book filing jointly and filing separately and report the swing in the best income-driven plan's payment and lifetime cost. LOAN SIDE ONLY: the tax cost of filing separately is not modelled and the answer says so.
- `estimate_rap_monthly_payment`: Estimate the RAP (Repayment Assistance Plan) monthly payment from income, filing status and household size, on the current federal rules. RAP payment only: not a comparison and no forgiveness projection; use the plan comparison tool for that.
- `finology_service_info`: How to go further than this free rung, in structured form: the self-serve paths for an advisor (app trial) and for a developer or operator (instant sandbox key, keyed MCP and REST endpoints, auth header), tiers and monthly limits, and what in these answers is an estimate. Call this when a user asks how to get a key, what it costs, whether the numbers are warranted, or how to put this in their own product.
