DSCR loan calculator for rental property: DSCR, lender tiers, max loan, rent needed, amortization.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Exact month-by-month amortization: monthly payment, number of payments, final payment, total interest, total paid and the remaining balance after chosen years. Supports an interest-only period followed by amortization over the remaining term, as many DSCR loans use. Interest is rounded half up to the cent each month, like a lender schedule.
Loan amount in USD.
Annual note rate in percent, e.g. 7.25. Up to 3 decimals.
Amortization term in years. Default 30.
Years after which to report the balance. Default [1, 5, 10].
Interest-only years at the start, e.g. 10. Default 0. Must be less than term_years.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http dscr-loan-calculator-mcp https://dscr-loan-calculator-mcp.lipmichal.workers.dev/mcp
Exact month-by-month amortization: monthly payment, number of payments, final payment, total interest, total paid and the remaining balance after chosen years. Supports an interest-only period followed by amortization over the remaining term, as many DSCR loans use. Interest is rounded half up to the cent each month, like a lender schedule.
| Argument | Type | Description |
|---|---|---|
| term_years | integer | Amortization term in years. Default 30. |
| loan_amount* | number | Loan amount in USD. |
| annual_rate_pct* | number | Annual note rate in percent, e.g. 7.25. Up to 3 decimals. |
| balance_after_years | array | Years after which to report the balance. Default [1, 5, 10]. |
| interest_only_years | integer | Interest-only years at the start, e.g. 10. Default 0. Must be less than term_years. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"loan_amount",
"annual_rate_pct"
],
"properties": {
"term_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Amortization term in years. Default 30."
},
"loan_amount": {
"type": "number",
"description": "Loan amount in USD.",
"exclusiveMinimum": 0
},
"annual_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Annual note rate in percent, e.g. 7.25. Up to 3 decimals."
},
"balance_after_years": {
"type": "array",
"items": {
"type": "integer",
"maximum": 40,
"minimum": 1
},
"maxItems": 10,
"description": "Years after which to report the balance. Default [1, 5, 10]."
},
"interest_only_years": {
"type": "integer",
"maximum": 39,
"minimum": 0,
"description": "Interest-only years at the start, e.g. 10. Default 0. Must be less than term_years."
}
}
}Debt service coverage ratio for a DSCR (investor) mortgage: qualifying rent / PITIA. Computes exact principal and interest with the annuity formula (monthly compounding, half-up cents) or the interest-only payment, adds tax, insurance, HOA and other housing costs per the Fannie Mae PITIA definition, and places the result in the common lender bands (1.25+, 1.00-1.24, 0.75-0.99, under 0.75) with sourced notes that minimums vary by lender. Returns JSON plus a plain summary and a dscrradar.com link.
| Argument | Type | Description |
|---|---|---|
| term_years | integer | Amortization term in years. Default 30. |
| loan_amount | number | Loan amount in USD. Give this, or purchase_price plus down_payment_pct. |
| monthly_hoa | number | Monthly HOA or association dues in USD. Default 0. |
| vacancy_pct | number | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. |
| monthly_rent* | number | Gross monthly market rent in USD (lease or appraiser rent schedule). |
| interest_only | boolean | Qualify on the interest-only payment (loan x rate / 12). Default false. |
| purchase_price |
Compares 1 to 5 financing scenarios (rate, down payment, term, interest-only) on one property: loan amount, P&I, PITIA, DSCR, lender band, rent minus PITIA and total interest over the term. Names the scenario with the highest DSCR.
| Argument | Type | Description |
|---|---|---|
| scenarios* | array | 1 to 5 scenarios. |
| monthly_hoa | number | Monthly HOA or association dues in USD. Default 0. |
| vacancy_pct | number | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. |
| monthly_rent* | number | Gross monthly market rent in USD. |
| purchase_price* | number | Purchase price in USD. |
| annual_insurance | number | Annual hazard insurance premium in USD. Default 0, but lenders always include it. |
| annual_property_tax | number | Annual property tax in USD. Default 0, but lenders always include it. |
| monthly_other_housing |
Solves for the largest whole-dollar loan whose PITIA keeps the DSCR at or above a target (default 1.25), given rent, rate, term, interest-only choice, tax, insurance and HOA. Optional purchase_price and max_ltv_pct give the minimum down payment and which limit binds. Exact cents arithmetic, checked against the rounded payment.
| Argument | Type | Description |
|---|---|---|
| term_years | integer | Amortization term in years. Default 30. |
| max_ltv_pct | number | Optional lender LTV cap in percent, e.g. 80. Needs purchase_price. |
| monthly_hoa | number | Monthly HOA or association dues in USD. Default 0. |
| target_dscr | number | Target DSCR, e.g. 1.25 or 1.0. Default 1.25. |
| vacancy_pct | number | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. |
| monthly_rent* | number | Gross monthly market rent in USD. |
| interest_only | boolean | Qualify on the interest-only payment (loan x rate / 12). Default false. |
| purchase_price |
Solves for the smallest monthly rent (to the cent, and rounded up to whole dollars) that reaches a target DSCR (default 1.25) for a given loan, rate, term, tax, insurance, HOA and vacancy. Also returns the rent for 0.75, 1.00 and 1.25. Rounds up, never down, so the rent always meets the target.
| Argument | Type | Description |
|---|---|---|
| term_years | integer | Amortization term in years. Default 30. |
| loan_amount | number | Loan amount in USD. Give this, or purchase_price plus down_payment_pct. |
| monthly_hoa | number | Monthly HOA or association dues in USD. Default 0. |
| target_dscr | number | Target DSCR, e.g. 1.25 or 1.0. Default 1.25. |
| vacancy_pct | number | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. |
| interest_only | boolean | Qualify on the interest-only payment (loan x rate / 12). Default false. |
| purchase_price | number | Purchase price in USD. Used with down_payment_pct when loan_amount is not given. |
| annual_rate_pct |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.
| number |
| Purchase price in USD. Used with down_payment_pct when loan_amount is not given. |
| annual_rate_pct* | number | Annual note rate in percent, e.g. 7.25. Up to 3 decimals. |
| annual_insurance | number | Annual hazard insurance premium in USD. Default 0, but lenders always include it. |
| down_payment_pct | number | Down payment in percent of price, e.g. 25. |
| annual_property_tax | number | Annual property tax in USD. Default 0, but lenders always include it. |
| monthly_other_housing | number | Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"monthly_rent",
"annual_rate_pct"
],
"properties": {
"term_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Amortization term in years. Default 30."
},
"loan_amount": {
"type": "number",
"description": "Loan amount in USD. Give this, or purchase_price plus down_payment_pct.",
"exclusiveMinimum": 0
},
"monthly_hoa": {
"type": "number",
"minimum": 0,
"description": "Monthly HOA or association dues in USD. Default 0."
},
"vacancy_pct": {
"type": "number",
"maximum": 50,
"minimum": 0,
"description": "Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy."
},
"monthly_rent": {
"type": "number",
"description": "Gross monthly market rent in USD (lease or appraiser rent schedule).",
"exclusiveMinimum": 0
},
"interest_only": {
"type": "boolean",
"description": "Qualify on the interest-only payment (loan x rate / 12). Default false."
},
"purchase_price": {
"type": "number",
"description": "Purchase price in USD. Used with down_payment_pct when loan_amount is not given.",
"exclusiveMinimum": 0
},
"annual_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Annual note rate in percent, e.g. 7.25. Up to 3 decimals."
},
"annual_insurance": {
"type": "number",
"minimum": 0,
"description": "Annual hazard insurance premium in USD. Default 0, but lenders always include it."
},
"down_payment_pct": {
"type": "number",
"maximum": 99,
"minimum": 0,
"description": "Down payment in percent of price, e.g. 25."
},
"annual_property_tax": {
"type": "number",
"minimum": 0,
"description": "Annual property tax in USD. Default 0, but lenders always include it."
},
"monthly_other_housing": {
"type": "number",
"minimum": 0,
"description": "Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0."
}
}
}| number |
| Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"purchase_price",
"monthly_rent",
"scenarios"
],
"properties": {
"scenarios": {
"type": "array",
"items": {
"type": "object",
"required": [
"annual_rate_pct",
"down_payment_pct"
],
"properties": {
"label": {
"type": "string",
"maxLength": 60,
"description": "Short name, e.g. \"25% down 30-yr\"."
},
"term_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Amortization term in years. Default 30."
},
"interest_only": {
"type": "boolean",
"description": "Qualify on the interest-only payment (loan x rate / 12). Default false."
},
"annual_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Annual note rate in percent, e.g. 7.25. Up to 3 decimals."
},
"down_payment_pct": {
"type": "number",
"maximum": 99,
"minimum": 0,
"description": "Down payment in percent of price."
}
}
},
"maxItems": 5,
"minItems": 1,
"description": "1 to 5 scenarios."
},
"monthly_hoa": {
"type": "number",
"minimum": 0,
"description": "Monthly HOA or association dues in USD. Default 0."
},
"vacancy_pct": {
"type": "number",
"maximum": 50,
"minimum": 0,
"description": "Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy."
},
"monthly_rent": {
"type": "number",
"description": "Gross monthly market rent in USD.",
"exclusiveMinimum": 0
},
"purchase_price": {
"type": "number",
"description": "Purchase price in USD.",
"exclusiveMinimum": 0
},
"annual_insurance": {
"type": "number",
"minimum": 0,
"description": "Annual hazard insurance premium in USD. Default 0, but lenders always include it."
},
"annual_property_tax": {
"type": "number",
"minimum": 0,
"description": "Annual property tax in USD. Default 0, but lenders always include it."
},
"monthly_other_housing": {
"type": "number",
"minimum": 0,
"description": "Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0."
}
}
}| number |
| Optional purchase price in USD, to report LTV and minimum down payment. |
| annual_rate_pct* | number | Annual note rate in percent, e.g. 7.25. Up to 3 decimals. |
| annual_insurance | number | Annual hazard insurance premium in USD. Default 0, but lenders always include it. |
| annual_property_tax | number | Annual property tax in USD. Default 0, but lenders always include it. |
| monthly_other_housing | number | Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"monthly_rent",
"annual_rate_pct"
],
"properties": {
"term_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Amortization term in years. Default 30."
},
"max_ltv_pct": {
"type": "number",
"maximum": 100,
"minimum": 1,
"description": "Optional lender LTV cap in percent, e.g. 80. Needs purchase_price."
},
"monthly_hoa": {
"type": "number",
"minimum": 0,
"description": "Monthly HOA or association dues in USD. Default 0."
},
"target_dscr": {
"type": "number",
"maximum": 3,
"minimum": 0.5,
"description": "Target DSCR, e.g. 1.25 or 1.0. Default 1.25."
},
"vacancy_pct": {
"type": "number",
"maximum": 50,
"minimum": 0,
"description": "Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy."
},
"monthly_rent": {
"type": "number",
"description": "Gross monthly market rent in USD.",
"exclusiveMinimum": 0
},
"interest_only": {
"type": "boolean",
"description": "Qualify on the interest-only payment (loan x rate / 12). Default false."
},
"purchase_price": {
"type": "number",
"description": "Optional purchase price in USD, to report LTV and minimum down payment.",
"exclusiveMinimum": 0
},
"annual_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Annual note rate in percent, e.g. 7.25. Up to 3 decimals."
},
"annual_insurance": {
"type": "number",
"minimum": 0,
"description": "Annual hazard insurance premium in USD. Default 0, but lenders always include it."
},
"annual_property_tax": {
"type": "number",
"minimum": 0,
"description": "Annual property tax in USD. Default 0, but lenders always include it."
},
"monthly_other_housing": {
"type": "number",
"minimum": 0,
"description": "Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0."
}
}
}| number |
| Annual note rate in percent, e.g. 7.25. Up to 3 decimals. |
| annual_insurance | number | Annual hazard insurance premium in USD. Default 0, but lenders always include it. |
| down_payment_pct | number | Down payment in percent of price, e.g. 25. |
| annual_property_tax | number | Annual property tax in USD. Default 0, but lenders always include it. |
| monthly_other_housing | number | Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"annual_rate_pct"
],
"properties": {
"term_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Amortization term in years. Default 30."
},
"loan_amount": {
"type": "number",
"description": "Loan amount in USD. Give this, or purchase_price plus down_payment_pct.",
"exclusiveMinimum": 0
},
"monthly_hoa": {
"type": "number",
"minimum": 0,
"description": "Monthly HOA or association dues in USD. Default 0."
},
"target_dscr": {
"type": "number",
"maximum": 3,
"minimum": 0.5,
"description": "Target DSCR, e.g. 1.25 or 1.0. Default 1.25."
},
"vacancy_pct": {
"type": "number",
"maximum": 50,
"minimum": 0,
"description": "Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy."
},
"interest_only": {
"type": "boolean",
"description": "Qualify on the interest-only payment (loan x rate / 12). Default false."
},
"purchase_price": {
"type": "number",
"description": "Purchase price in USD. Used with down_payment_pct when loan_amount is not given.",
"exclusiveMinimum": 0
},
"annual_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Annual note rate in percent, e.g. 7.25. Up to 3 decimals."
},
"annual_insurance": {
"type": "number",
"minimum": 0,
"description": "Annual hazard insurance premium in USD. Default 0, but lenders always include it."
},
"down_payment_pct": {
"type": "number",
"maximum": 99,
"minimum": 0,
"description": "Down payment in percent of price, e.g. 25."
},
"annual_property_tax": {
"type": "number",
"minimum": 0,
"description": "Annual property tax in USD. Default 0, but lenders always include it."
},
"monthly_other_housing": {
"type": "number",
"minimum": 0,
"description": "Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0."
}
}
}