Skip to content

io.github.SPFreedom/showrealcost

by SPFreedom · remote · no sign-in to list tools · v0.1.0 · published by GitHub user SPFreedom

Loan-cost math: payments, payoff time, offers with fees, payday loans, Rule of 78s, Fed rates.

Final · 1Changes · 6

9 tools: 1 do something that can't be undone, 6 change things and 2 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http showrealcost https://mcp.showrealcost.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "loan_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "loan_payment" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

9 tools

Can't be undone 1Claude Code: ask
  • loan_paymentFor a fixed-rate installment loan (personal, auto, any level-payment loan): the monthly payment, total interest, total repaid, how the first payment splits between interest and pri…1 finding

    Why it is in this group

    • The name "loan_payment" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "loan_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "loan_payment" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    For a fixed-rate installment loan (personal, auto, any level-payment loan): the monthly payment, total interest, total repaid, how the first payment splits between interest and principal, and optionally how much has been paid and is still owed after a number of payments. Use for "what will this loan cost" and "where did my payments go".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 6Claude Code: ask
  • average_loan_ratesThe latest Federal Reserve (G.19) average interest rates at commercial banks for a 24-month personal loan, 60- and 72-month new car loans, and credit cards, with the change from th…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The latest Federal Reserve (G.19) average interest rates at commercial banks for a 24-month personal loan, 60- and 72-month new car loans, and credit cards, with the change from the previous quarter and from a year earlier. Optionally compares a rate someone was offered with the average and gives the gap in dollars. Averages across banks, never any one lender; quarterly figures bundled with the server, not live quotes. Use for "what is the average car loan rate", "have personal loan rates gone up" and "is 9% high for a car loan".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • debt_payoff_planSimulate paying off several debts with minimum payments plus an optional extra each month, highest rate first (avalanche) and smallest balance first (snowball), against minimums on…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Simulate paying off several debts with minimum payments plus an optional extra each month, highest rate first (avalanche) and smallest balance first (snowball), against minimums only. Returns months to debt-free and total interest for each. Use for "avalanche or snowball on my debts" and "what does $200 extra a month do".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • payday_loan_costFor a payday loan, title loan, pawn loan, cash-advance app or any loan priced by a fee for a number of days: the fee in dollars, the APR, and what renewing (rolling over) costs.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For a payday loan, title loan, pawn loan, cash-advance app or any loan priced by a fee for a number of days: the fee in dollars, the APR, and what renewing (rolling over) costs. Use for "what is the APR on a $500 payday loan at $15 per $100" and "what does rolling it over cost".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • payoff_timeHow long a balance (credit card or loan) takes to pay off at a fixed monthly payment, and the interest paid.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    How long a balance (credit card or loan) takes to pay off at a fixed monthly payment, and the interest paid. Use for "how long to pay off my card at $X a month" and for comparing a bigger payment by calling it twice.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • per_diem_interestThe interest a simple-interest loan adds each day, and over a number of days.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The interest a simple-interest loan adds each day, and over a number of days. Use for reading a payoff letter, for "how much more is my payoff than my statement balance", and for the cost of a skipped or deferred payment.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • precomputed_loan_payoffFor a precomputed or add-on interest loan (common from dealers, finance companies and furniture stores): the payoff after a number of payments under the Rule of 78s and under the a…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For a precomputed or add-on interest loan (common from dealers, finance companies and furniture stores): the payoff after a number of payments under the Rule of 78s and under the actuarial method, and how much more the Rule of 78s keeps. Use for "why is my payoff different from my balance".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 2Claude Code: allow
  • compare_loan_offersCompare two to four loan offers with different rates and fees fairly: each offer is sized so the borrower receives the same cash, then compared on payment, total cost of borrowing …No findings

    Why it is in this group

    • The name "compare_loan_offers" says "compare": a word for reading.
    Description, as the server wrote it
    Compare two to four loan offers with different rates and fees fairly: each offer is sized so the borrower receives the same cash, then compared on payment, total cost of borrowing (interest plus fees) and estimated APR. Use for "is a lower rate with an origination fee cheaper than a higher rate with none".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • refinance_checkCompare keeping a loan against a refinance offer, from today forward: interest remaining on the current loan, interest on the new loan, and what happens if the borrower takes the n…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare keeping a loan against a refinance offer, from today forward: interest remaining on the current loan, interest on the new loan, and what happens if the borrower takes the new rate but keeps paying the old payment. Use for "the new loan has a lower payment, does it actually save money".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http showrealcost https://mcp.showrealcost.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__showrealcost__compare_loan_offers",
      "mcp__showrealcost__refinance_check"
    ],
    "ask": [
      "mcp__showrealcost__loan_payment",
      "mcp__showrealcost__payoff_time",
      "mcp__showrealcost__payday_loan_cost",
      "mcp__showrealcost__precomputed_loan_payoff",
      "mcp__showrealcost__per_diem_interest",
      "mcp__showrealcost__debt_payoff_plan",
      "mcp__showrealcost__average_loan_rates"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as showrealcost. Review it before you use it.