Amortiza Loan Planner

Mortgage & loan schedules

我該用這個嗎

品質與安全性

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

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

上下文成本

~3,210Token(工具定義)
~16.9 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.51%)

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

安裝

一鍵安裝

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

{
  "mcpServers": {
    "loan-planner": {
      "url": "https://loan-planner.zovo.one/mcp"
    }
  }
}

遠端端點

https://loan-planner.zovo.one/mcpstreamable-http

它能做什麼

工具清單

工具(2)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢calculate_loan(principal, home_price, down_payment, down_payment_percent, annual_rate, ...)

Use this when the user wants a mortgage calculator, loan calculator, or amortization calculator result: the monthly (or biweekly/weekly) payment, an amortization schedule or table, total interest, payoff date, a mortgage calculator with extra payments or for paying off early, or a full PITI payment with property tax, insurance, HOA and PMI. Takes the loan amount or home price with down payment, rate, and term. Returns exact payment, totals, interest and time saved by extra payments, a yearly summary, and a CSV of the full schedule. Fixed-rate loans only; does not model adjustable rates, interest-only or balloon loans, and does not look up current rates. Do not use for rent-vs-buy advice or choosing a lender.

輸入結構描述

{
  "type": "object",
  "properties": {
    "principal": {
      "description": "Loan amount to borrow, e.g. 350000. Give this OR home_price with a down payment.",
      "type": "number"
    },
    "home_price": {
      "description": "Purchase price or current home value, e.g. 400000. Used with down_payment/down_payment_percent to get the loan amount, and as the value for PMI loan-to-value.",
      "type": "number"
    },
    "down_payment": {
      "description": "Down payment amount, e.g. 50000. Used with home_price.",
      "type": "number"
    },
    "down_payment_percent": {
      "description": "Down payment as a percent of home_price, e.g. 20 for 20%.",
      "type": "number"
    },
    "annual_rate": {
      "description": "Annual interest rate in percent (nominal APR used for the payment), e.g. 6.5 for 6.5%. 0 is allowed.",
      "type": "number"
    },
    "term_years": {
      "description": "Loan term in years, e.g. 30. Give term_years or term_months.",
      "type": "number"
    },
    "term_months": {
      "description": "Loan term in months, e.g. 360 or 72 for a car loan.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "payment_frequency": {
      "description": "How often payments are made: monthly (default), biweekly (every 2 weeks, 26 a year), or weekly (52 a year).",
      "type": "string",
      "enum": [
        "monthly",
        "biweekly",
        "weekly"
      ]
    },
    "accelerated": {
      "description": "For biweekly/weekly only: true pays half (biweekly) or a quarter (weekly) of the monthly payment each period, which adds about one extra monthly payment a year. Default false (a true biweekly/weekly amortization).",
      "type": "boolean"
    },
    "start_date": {
      "description": "Date of the first payment, YYYY-MM or YYYY-MM-DD, e.g. 2026-11. Defaults to the first day of next month.",
      "type": "string",
      "maxLength": 10
    },
    "extra_payment": {
      "description": "Extra principal paid with every payment, e.g. 200 for $200 more each month.",
      "type": "number"
    },
    "one_time_payments": {
      "description": "Lump-sum extra payments, e.g. [{\"date\":\"2030-01\",\"amount\":10000}].",
      "maxItems": 40,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "description": "Month (YYYY-MM) or day (YYYY-MM-DD) of the lump sum, e.g. 2029-06. It is applied with the first payment on or after that date.",
            "type": "string",
            "maxLength": 10
          },
          "payment_number": {
            "description": "Alternative to date: apply the lump sum with this payment number, e.g. 60 for the 60th payment.",
            "type": "integer",
            "minimum": 1,
            "maximum": 3000
          },
          "amount": {
            "type": "number",
            "description": "Lump-sum amount paid toward principal, e.g. 10000."
          }
        },
        "required": [
          "amount"
        ]
      }
    },
    "property_tax_annual": {
      "description": "Yearly property tax for the PITI breakdown, e.g. 4800.",
      "type": "number"
    },
    "home_insurance_annual": {
      "description": "Yearly homeowners insurance for the PITI breakdown, e.g. 1500.",
      "type": "number"
    },
    "hoa_monthly": {
      "description": "Monthly HOA dues, e.g. 75.",
      "type": "number"
    },
    "pmi_rate": {
      "description": "Yearly private mortgage insurance rate as a percent of the original loan, e.g. 0.5. Needs home_price. Charged only while the loan is above 80% of the home value, and dropped once the balance reaches 78%.",
      "type": "number"
    },
    "currency": {
      "description": "ISO 4217 currency code for formatting, e.g. USD, EUR, GBP. Default USD.",
      "type": "string",
      "maxLength": 3
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "loan_amount": {
      "type": "number"
    },
    "home_price": {
      "type": [
        "number",
        "null"
      ]
    },
    "annual_rate": {
      "type": "number"
    },
    "term_months": {
      "type": "number"
    },
    "payment_frequency": {
      "type": "string"
    },
    "accelerated": {
      "type": "boolean"
    },
    "payment": {
      "type": "number"
    },
    "final_payment": {
      "type": "number"
    },
    "payments_count": {
      "type": "number"
    },
    "first_payment_date": {
      "type": "string"
    },
    "payoff_date": {
      "type": "string"
    },
    "total_interest": {
      "type": "number"
    },
    "total_principal": {
      "type": "number"
    },
    "total_paid": {
      "type": "number"
    },
    "total_pmi": {
      "type": "number"
    },
    "extra_payments": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "vs_monthly": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "piti": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "pmi": {
      "anyOf": [
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "yearly": {
      "type": "object",
      "properties": {
        "columns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "rows": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        }
      },
      "required": [
        "columns",
        "rows"
      ],
      "additionalProperties": false
    },
    "chart": {
      "type": "object",
      "properties": {
        "columns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "points": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        }
      },
      "required": [
        "columns",
        "points"
      ],
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "inputs": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "downloads": {
      "type": "object",
      "properties": {
        "csv": {
          "type": "string"
        }
      },
      "required": [
        "csv"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "summary",
    "currency",
    "loan_amount",
    "home_price",
    "annual_rate",
    "term_months",
    "payment_frequency",
    "accelerated",
    "payment",
    "final_payment",
    "payments_count",
    "first_payment_date",
    "payoff_date",
    "total_interest",
    "total_principal",
    "total_paid",
    "total_pmi",
    "extra_payments",
    "vs_monthly",
    "piti",
    "pmi",
    "yearly",
    "chart",
    "warnings",
    "inputs",
    "downloads"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢compare_loans(scenarios, principal, home_price, down_payment, down_payment_percent, ...)

Use this when the user wants to compare 2 to 4 loan or mortgage options side by side, such as 15-year vs 30-year, different interest rates, paying discount points, or a mortgage calculator for refinance options. Shared values (loan amount, rate, term) go at the top level and each scenario overrides what differs. Returns payment, total interest, upfront costs, total cost, payoff date and the break-even month for points or fees, plus a comparison CSV. Fixed-rate loans only; does not look up current rates or recommend a lender. Do not use for a single loan (use calculate_loan).

輸入結構描述

{
  "type": "object",
  "properties": {
    "scenarios": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "description": "Short name for the scenario, e.g. \"30-year 6.5%\" or \"15-year with 1 point\".",
            "type": "string",
            "maxLength": 40
          },
          "principal": {
            "description": "Loan amount to borrow, e.g. 350000. Give this OR home_price with a down payment.",
            "type": "number"
          },
          "home_price": {
            "description": "Purchase price or current home value, e.g. 400000. Used with down_payment/down_payment_percent to get the loan amount, and as the value for PMI loan-to-value.",
            "type": "number"
          },
          "down_payment": {
            "description": "Down payment amount, e.g. 50000. Used with home_price.",
            "type": "number"
          },
          "down_payment_percent": {
            "description": "Down payment as a percent of home_price, e.g. 20 for 20%.",
            "type": "number"
          },
          "annual_rate": {
            "description": "Annual interest rate in percent (nominal APR used for the payment), e.g. 6.5 for 6.5%. 0 is allowed.",
            "type": "number"
          },
          "term_years": {
            "description": "Loan term in years, e.g. 30. Give term_years or term_months.",
            "type": "number"
          },
          "term_months": {
            "description": "Loan term in months, e.g. 360 or 72 for a car loan.",
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "payment_frequency": {
            "description": "How often payments are made: monthly (default), biweekly (every 2 weeks, 26 a year), or weekly (52 a year).",
            "type": "string",
            "enum": [
              "monthly",
              "biweekly",
              "weekly"
            ]
          },
          "accelerated": {
            "description": "For biweekly/weekly only: true pays half (biweekly) or a quarter (weekly) of the monthly payment each period, which adds about one extra monthly payment a year. Default false (a true biweekly/weekly amortization).",
            "type": "boolean"
          },
          "extra_payment": {
            "description": "Extra principal paid with every payment, e.g. 200 for $200 more each month.",
            "type": "number"
          },
          "one_time_payments": {
            "description": "Lump-sum extra payments, e.g. [{\"date\":\"2030-01\",\"amount\":10000}].",
            "maxItems": 40,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "description": "Month (YYYY-MM) or day (YYYY-MM-DD) of the lump sum, e.g. 2029-06. It is applied with the first payment on or after that date.",
                  "type": "string",
                  "maxLength": 10
                },
                "payment_number": {
                  "description": "Alternative to date: apply the lump sum with this payment number, e.g. 60 for the 60th payment.",
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 3000
                },
                "amount": {
                  "type": "number",
                  "description": "Lump-sum amount paid toward principal, e.g. 10000."
                }
              },
              "required": [
                "amount"
              ]
            }
          },
          "property_tax_annual": {
            "description": "Yearly property tax for the PITI breakdown, e.g. 4800.",
            "type": "number"
          },
          "home_insurance_annual": {
            "description": "Yearly homeowners insurance for the PITI breakdown, e.g. 1500.",
            "type": "number"
          },
          "hoa_monthly": {
            "description": "Monthly HOA dues, e.g. 75.",
            "type": "number"
          },
          "pmi_rate": {
            "description": "Yearly private mortgage insurance rate as a percent of the original loan, e.g. 0.5. Needs home_price. Charged only while the loan is above 80% of the home value, and dropped once the balance reaches 78%.",
            "type": "number"
          },
          "points": {
            "description": "Discount points paid upfront, as percent of the loan (1 point = 1%), e.g. 1.5.",
            "type": "number"
          },
          "closing_costs": {
            "description": "Other upfront lender fees for this scenario, e.g. 3500.",
            "type": "number"
          }
        }
      },
      "description": "2 to 4 loan scenarios. Each needs its own annual_rate and term unless set at the top level, e.g. [{\"label\":\"30-year\",\"annual_rate\":6.5,\"term_years\":30},{\"label\":\"15-year\",\"annual_rate\":5.75,\"term_years\":15}]."
    },
    "principal": {
      "description": "Shared loan amount used by every scenario that does not set its own, e.g. 280000.",
      "type": "number"
    },
    "home_price": {
      "description": "Purchase price or current home value, e.g. 400000. Used with down_payment/down_payment_percent to get the loan amount, and as the value for PMI loan-to-value.",
      "type": "number"
    },
    "down_payment": {
      "description": "Down payment amount, e.g. 50000. Used with home_price.",
      "type": "number"
    },
    "down_payment_percent": {
      "description": "Down payment as a percent of home_price, e.g. 20 for 20%.",
      "type": "number"
    },
    "annual_rate": {
      "description": "Shared annual rate in percent for scenarios that do not set their own, e.g. 6.5.",
      "type": "number"
    },
    "term_years": {
      "description": "Shared term in years for scenarios that do not set their own, e.g. 30.",
      "type": "number"
    },
    "term_months": {
      "description": "Loan term in months, e.g. 360 or 72 for a car loan.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "payment_frequency": {
      "description": "How often payments are made: monthly (default), biweekly (every 2 weeks, 26 a year), or weekly (52 a year).",
      "type": "string",
      "enum": [
        "monthly",
        "biweekly",
        "weekly"
      ]
    },
    "accelerated": {
      "description": "For biweekly/weekly only: true pays half (biweekly) or a quarter (weekly) of the monthly payment each period, which adds about one extra monthly payment a year. Default false (a true biweekly/weekly amortization).",
      "type": "boolean"
    },
    "start_date": {
      "description": "Date of the first payment, YYYY-MM or YYYY-MM-DD, e.g. 2026-11. Defaults to the first day of next month.",
      "type": "string",
      "maxLength": 10
    },
    "pmi_rate": {
      "description": "Yearly private mortgage insurance rate as a percent of the original loan, e.g. 0.5. Needs home_price. Charged only while the loan is above 80% of the home value, and dropped once the balance reaches 78%.",
      "type": "number"
    },
    "currency": {
      "description": "ISO 4217 currency code for formatting, e.g. USD, EUR, GBP. Default USD.",
      "type": "string",
      "maxLength": 3
    }
  },
  "required": [
    "scenarios"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string"
    },
    "reference": {
      "type": "string"
    },
    "lowest_payment": {
      "type": "string"
    },
    "lowest_cost_of_borrowing": {
      "type": "string"
    },
    "scenarios": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "downloads": {
      "type": "object",
      "properties": {
        "csv": {
          "type": "string"
        }
      },
      "required": [
        "csv"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "currency",
    "reference",
    "lowest_payment",
    "lowest_cost_of_borrowing",
    "scenarios",
    "warnings",
    "downloads"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

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