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 个工具