Amortization Schedule

Row-by-row loan amortization schedules: monthly or daily accrual, extra principal, PMI, biweekly.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
98%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,299Token(工具定義)
~7.1 KB典型回應大小
中等的注意力影響(128k 上下文的 1.01%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "amortize": {
      "url": "https://amortize.gumballtools.com/api/mcp"
    }
  }
}

遠端端點

https://amortize.gumballtools.com/api/mcpstreamable-http

它能做什麼

工具清單

工具(1)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢amortize(principal, annualRatePercent, termMonths, compounding, dayCountBasis, ...)

Builds the full row-by-row amortization schedule for a loan — interest, principal, PMI, and running balance for every payment — instead of just the monthly payment amount. Use this whenever a row-by-row schedule matters: "what is my balance after payment 47", "what does an extra $200/month do to my payoff date", "when does PMI drop off", or "give me the whole amortization table". Do not do this arithmetic by hand or in your head. Two things go wrong reliably when a model tries: 1. THE LAST ROW. The textbook payment formula only amortizes to exactly zero in infinite precision. Rounded to cents and carried over up to a few hundred rows, a hand-rolled schedule drifts and ends with a balance of a few cents to a few dollars instead of zero — exactly the row a person checks against their real statement. This tool recomputes the final row as "remaining balance + that row's interest" so it always ends at zero, and reports the delta. 2. COMPOUNDING CONVENTION. Fixed mortgages compound monthly (rate/12). HELOCs, most auto loans, and most private student loans accrue interest DAILY on the actual number of days between payments, which is a genuinely different schedule, not a rounding variant. Guessing the wrong one silently produces a plausible but wrong table. Input: `principal`, `annualRatePercent` (e.g. 6.5), `termMonths` (integer), and `compounding` ("monthly" or "daily") are required. For `compounding: "daily"`, supply EITHER `startDate` (YYYY-MM-DD — the tool derives real day counts and leap years from the calendar itself) OR `dayCountBasis` ("30/360" | "actual/365" | "actual/actual") for a hypothetical loan with no dates — never both are needed, and supplying neither is refused rather than guessed. Optional: `paymentFrequency` ("monthly" default | "biweekly", which requires daily compounding — pass `paymentOverride` if the actual billed payment differs from the textbook one, e.g. a HELOC's quoted minimum; `extraPrincipal` as `{type:"oneOff",amount,atPaymentNumber}` or `{type:"recurring",amount,startingPaymentNumber?}`; `pmi` as `{monthlyAmount,originalValue,cancelAtPercent?}` (78 or 80, default 78) to model PMI dropping off. Refuses rather than guesses: a payment that does not exceed the first period's interest (negative amortization) is a named error with the minimum amortizing payment attached, not a schedule that never ends. An unparseable or impossible date is refused, not reinterpreted. Returns the full schedule, total interest and PMI paid, the payoff date or period, the final payment amount and how it differs from the standard one, and — when extra principal was given — the same schedule without it, so the periods and interest saved are explicit. A `disclaimer` field travels with every response: this is a planning estimate, not a lender payoff quote, and PMI cancellation here uses your actual balance, which a servicer is legally permitted to compute off the original schedule instead. Relay the warnings, not just the numbers.

輸入結構描述

{
  "type": "object",
  "properties": {
    "principal": {
      "type": "number",
      "description": "The loan amount, > 0."
    },
    "annualRatePercent": {
      "type": "number",
      "description": "The annual interest rate as a percent, e.g. 6.5 for 6.5%."
    },
    "termMonths": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "The original term in whole months, e.g. 360 for 30 years."
    },
    "compounding": {
      "type": "string",
      "enum": [
        "monthly",
        "daily"
      ],
      "description": "\"monthly\": rate/12 per period, the fixed-mortgage norm. \"daily\": actual per-diem accrual, the HELOC/auto-loan/student-loan convention — requires startDate or dayCountBasis."
    },
    "dayCountBasis": {
      "description": "Required for daily compounding ONLY when there is no startDate (a hypothetical loan).",
      "type": "string",
      "enum": [
        "30/360",
        "actual/365",
        "actual/actual"
      ]
    },
    "startDate": {
      "description": "YYYY-MM-DD. For daily compounding, supplying this lets the tool read real day counts and leap years off the calendar.",
      "type": "string"
    },
    "paymentFrequency": {
      "description": "\"biweekly\" pays half the monthly payment every 14 days and requires compounding \"daily\".",
      "type": "string",
      "enum": [
        "monthly",
        "biweekly"
      ]
    },
    "paymentOverride": {
      "description": "The actual per-period payment, if different from the textbook one — e.g. a HELOC minimum payment.",
      "type": "number"
    },
    "extraPrincipal": {
      "description": "A one-off extra payment at a given payment number, or a recurring extra payment from a given payment number onward.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "oneOff"
            },
            "amount": {
              "type": "number"
            },
            "atPaymentNumber": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "type",
            "amount",
            "atPaymentNumber"
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "recurring"
            },
            "amount": {
              "type": "number"
            },
            "startingPaymentNumber": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "type",
            "amount"
          ]
        }
      ]
    },
    "pmi": {
      "description": "Models PMI dropping off at 78% (automatic, default) or 80% (requestable) of originalValue.",
      "type": "object",
      "properties": {
        "monthlyAmount": {
          "type": "number"
        },
        "originalValue": {
          "type": "number"
        },
        "cancelAtPercent": {
          "anyOf": [
            {
              "type": "number",
              "const": 78
            },
            {
              "type": "number",
              "const": 80
            }
          ]
        }
      },
      "required": [
        "monthlyAmount",
        "originalValue"
      ]
    }
  },
  "required": [
    "principal",
    "annualRatePercent",
    "termMonths",
    "compounding"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本1 個工具
已驗證未記錄版本1 個工具