DSCR Loan Calculator
Server Details
DSCR loan calculator for rental property: DSCR, lender tiers, max loan, rent needed, amortization.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- theluckystrike/dscr-loan-calculator-mcp
- GitHub Stars
- 0
- Server Listing
- DSCR Loan Calculator MCP
TDQS
Scored across 5 tools
Each tool targets a distinct operation: computing DSCR, generating an amortization schedule, comparing scenarios, and two inverse solvers (max loan and rent needed). The detailed descriptions make the boundaries clear, and the two inverse solvers are clearly differentiated by their target variable. Although calculate_dscr and amortization_summary both touch P&I, their purposes (ratio computation vs. full schedule) are unambiguous.
All names use snake_case, but they mix verb-led (calculate_dscr, compare_scenarios) and noun-led phrasing (amortization_summary, max_loan_for_target_dscr, rent_needed_for_target_dscr). This is readable but not a single predictable pattern.
Five tools is well-scoped for a DSCR calculator, and each tool earns its place by covering a distinct analytical need (ratio, schedule, comparison, two inverse solves). Nothing feels padded or redundant.
Coverage is strong for the DSCR domain: forward calculation, amortization, scenario comparison, and inverse solves for loan amount and rent all exist. Minor gaps remain, such as solving for the interest rate or supported maximum monthly payment for a given DSCR, but core workflows are covered.
Available Tools
5 toolsamortization_summaryAmortization summary for a loanARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Amortization term in years. Default 30. | |
| loan_amount | Yes | Loan amount in USD. | |
| annual_rate_pct | Yes | Annual note rate in percent, e.g. 7.25. Up to 3 decimals. | |
| balance_after_years | No | Years after which to report the balance. Default [1, 5, 10]. | |
| interest_only_years | No | Interest-only years at the start, e.g. 10. Default 0. Must be less than term_years. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world, non-destructive behavior, so the safety profile is covered. The description goes beyond them by disclosing the rounding convention ('half up to the cent each month, like a lender schedule'), the 'exact' precision stance, and the interest-only-then-amortize structure — real behavioral traits an agent cannot get from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the primary output list, then the interest-only variant, then the rounding rule. No filler, though the first sentence is a fairly long enumeration that could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only calculation tool with five fully documented parameters and no output schema, the description carries the return-value burden well by naming every figure produced. Combined with the rounding and interest-only disclosures, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so a 3 is the baseline. The description nevertheless adds meaning the schema lacks: it clarifies that balance_after_years yields the 'remaining balance after chosen years' and, more importantly, that an interest-only period is followed by amortization over the remaining term — resolving whether term_years includes the interest-only years.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete resource (a month-by-month loan amortization schedule) and enumerates the produced quantities: monthly payment, payment count, final payment, total interest, total paid and balance. It is clear what the tool does, but it never contrasts itself with the DSCR siblings (calculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios), so differentiation is left to inference from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use / when-not clause and no named alternative; usage is only implied. The phrase 'as many DSCR loans use' hints at the intended financing context, which ties it loosely to the sibling DSCR tools, but the agent must infer that this is the schedule calculator while the siblings compute ratios and thresholds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_dscrCalculate DSCR for a rental property loanARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Amortization term in years. Default 30. | |
| loan_amount | No | Loan amount in USD. Give this, or purchase_price plus down_payment_pct. | |
| monthly_hoa | No | Monthly HOA or association dues in USD. Default 0. | |
| vacancy_pct | No | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. | |
| monthly_rent | Yes | Gross monthly market rent in USD (lease or appraiser rent schedule). | |
| interest_only | No | Qualify on the interest-only payment (loan x rate / 12). Default false. | |
| purchase_price | No | Purchase price in USD. Used with down_payment_pct when loan_amount is not given. | |
| annual_rate_pct | Yes | Annual note rate in percent, e.g. 7.25. Up to 3 decimals. | |
| annual_insurance | No | Annual hazard insurance premium in USD. Default 0, but lenders always include it. | |
| down_payment_pct | No | Down payment in percent of price, e.g. 25. | |
| annual_property_tax | No | Annual property tax in USD. Default 0, but lenders always include it. | |
| monthly_other_housing | No | Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/closed-world, so the safety bar is low. The description adds genuinely useful behavior beyond that: the rounding convention (half-up cents), the interest-only alternative payment path, the Fannie Mae PITIA composition, the four lender bands, and the dual JSON + plain-summary + link return. It does not describe defaults or missing-cost behavior, which matters because several cost inputs default to 0 but lenders 'always include' them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the formula, then computation detail, then output shape — a logical order with no filler. The middle sentence is long and heavily compounded (formula, compounding, rounding, PITIA components, bands, sourcing note all in one), which costs some scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, no output schema, and the return format explained (JSON + summary + link), the description covers enough to call the tool correctly. The main gap is that it never says how defaults behave — e.g. whether omitted tax/insurance are silently treated as zero and how that shifts the ratio.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter carries a description, so the schema does the heavy lifting. The description contributes only indirect semantics (what PITIA aggregates, that rent is 'qualifying' rent) without explaining params themselves, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource and immediately supplies the formula it implements (qualifying rent / PITIA), plus the exact computation path (annuity formula, monthly compounding) and the output shape. An agent can tell this is the core ratio calculator rather than the sibling solvers (max_loan_for_target_dscr, rent_needed_for_target_dscr) that invert the same formula.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the input model (rent + PITIA costs in, ratio out), and the note that lender minimums vary gives context for interpreting results. However, the description never states when to call this versus the inverse siblings or compare_scenarios, and gives no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_scenariosCompare DSCR loan scenariosARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| scenarios | Yes | 1 to 5 scenarios. | |
| monthly_hoa | No | Monthly HOA or association dues in USD. Default 0. | |
| vacancy_pct | No | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. | |
| monthly_rent | Yes | Gross monthly market rent in USD. | |
| purchase_price | Yes | Purchase price in USD. | |
| annual_insurance | No | Annual hazard insurance premium in USD. Default 0, but lenders always include it. | |
| annual_property_tax | No | Annual property tax in USD. Default 0, but lenders always include it. | |
| monthly_other_housing | No | Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine value by disclosing the exact computed outputs (P&I, PITIA, DSCR, lender band, rent minus PITIA, total interest) and that it ranks the best scenario — important since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the scope and inputs front-loaded and the return payload plus the 'highest DSCR' behavior in the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately spells out what comes back, and the 8-parameter input is fully documented in the schema. Minor gaps: it doesn't say how a single-scenario call behaves or whether results are returned in input order alongside the winner.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including per-field defaults and examples, so the schema carries the parameter burden. The description only restates the varying dimensions (rate, down payment, term, interest-only) and adds no formatting or interpretation guidance beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compares) and resource (1 to 5 financing scenarios on one property) and enumerates the per-scenario levers and the computed outputs. The '1 to 5 scenarios' scope cleanly separates it from the single-scenario calculate_dscr sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool for multi-scenario comparison, but the description never says when to prefer it over calculate_dscr or max_loan_for_target_dscr, nor any prerequisites such as required rent/price inputs. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
max_loan_for_target_dscrLargest loan that meets a target DSCRARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Amortization term in years. Default 30. | |
| max_ltv_pct | No | Optional lender LTV cap in percent, e.g. 80. Needs purchase_price. | |
| monthly_hoa | No | Monthly HOA or association dues in USD. Default 0. | |
| target_dscr | No | Target DSCR, e.g. 1.25 or 1.0. Default 1.25. | |
| vacancy_pct | No | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. | |
| monthly_rent | Yes | Gross monthly market rent in USD. | |
| interest_only | No | Qualify on the interest-only payment (loan x rate / 12). Default false. | |
| purchase_price | No | Optional purchase price in USD, to report LTV and minimum down payment. | |
| annual_rate_pct | Yes | Annual note rate in percent, e.g. 7.25. Up to 3 decimals. | |
| annual_insurance | No | Annual hazard insurance premium in USD. Default 0, but lenders always include it. | |
| annual_property_tax | No | Annual property tax in USD. Default 0, but lenders always include it. | |
| monthly_other_housing | No | Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, closed-world calculation. The description adds real behavioral context beyond that: whole-dollar loan sizing, exact cents arithmetic cross-checked against the rounded payment, and the downstream effect of purchase_price/max_ltv_pct on the binding limit. It does not mention return fields, but no destructive or auth behavior needs disclosing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, no filler. The second sentence efficiently covers optional inputs and the arithmetic guarantee. Slightly dense but well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter calculation with no output schema, the description conveys the key outcome (largest whole-dollar loan, minimum down payment, which limit binds) and the rounding/arithmetic behavior. It does not enumerate the full return payload (e.g., resulting DSCR, payment split), but the annotations and schema carry most remaining weight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 12 parameters including defaults and bounds. The description restates the input set and highlights the default target DSCR but adds little syntax or meaning not already in the schema, and omits vacancy_pct and monthly_other_housing entirely. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (solves for) and a specific resource (largest whole-dollar loan at or above a target DSCR), with the exact constraints (PITIA, target default 1.25). This is clearly the inverse of calculate_dscr and rent_needed_for_target_dscr without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (finding the maximum loan size that holds DSCR) and explains the optional purchase_price/max_ltv_pct branch, but it never explicitly contrasts with calculate_dscr or the other siblings, nor states when not to use it. Usage is inferable rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rent_needed_for_target_dscrRent needed to reach a target DSCRARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Amortization term in years. Default 30. | |
| loan_amount | No | Loan amount in USD. Give this, or purchase_price plus down_payment_pct. | |
| monthly_hoa | No | Monthly HOA or association dues in USD. Default 0. | |
| target_dscr | No | Target DSCR, e.g. 1.25 or 1.0. Default 1.25. | |
| vacancy_pct | No | Vacancy allowance in percent of gross rent. Default 0. Many lenders use gross rent with no vacancy. | |
| interest_only | No | Qualify on the interest-only payment (loan x rate / 12). Default false. | |
| purchase_price | No | Purchase price in USD. Used with down_payment_pct when loan_amount is not given. | |
| annual_rate_pct | Yes | Annual note rate in percent, e.g. 7.25. Up to 3 decimals. | |
| annual_insurance | No | Annual hazard insurance premium in USD. Default 0, but lenders always include it. | |
| down_payment_pct | No | Down payment in percent of price, e.g. 25. | |
| annual_property_tax | No | Annual property tax in USD. Default 0, but lenders always include it. | |
| monthly_other_housing | No | Other monthly housing costs in PITIA, such as flood insurance, ground rent or special assessments. Default 0. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds meaningful behavioral detail beyond that: it rounds up to whole dollars and never down so the target is always met, and it returns rents for 0.75, 1.00 and 1.25 in addition to the target rent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and appropriately short, stating the main result first and then the additional DSCR outputs. It has minor redundancy in saying both 'rounded up to whole dollars' and 'Rounds up, never down', but the repetition reinforces an important behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter calculation tool with no output schema, the description adequately explains what is computed, the default target, rounding behavior, and alternate DSCR outputs. The exact output structure is not spelled out, but the essential return semantics are clear enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 12 parameters are already well documented in the schema. The description mentions the major input categories and the default target DSCR, but adds no syntax, format, or interpretation details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: it 'solves for the smallest monthly rent' that reaches a target DSCR, with scope defined by loan, rate, term, tax, insurance, HOA and vacancy. This clearly distinguishes it from siblings such as calculate_dscr and max_loan_for_target_dscr without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by stating it solves for required rent against a target DSCR and defaults target_dscr to 1.25. However, it does not explicitly say when to choose this versus calculate_dscr or max_loan_for_target_dscr, leaving alternatives to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
amortization_summary - First observed
calculate_dscr - First observed
compare_scenarios - First observed
max_loan_for_target_dscr - First observed
rent_needed_for_target_dscr
Related MCP Connectors
HMDA investor-lender data, DSCR glossary, loan programs and indicative rates. Business-purpose only.
Free CRE loan sizing, DSCR stress tests, payments, closing costs and cited lending knowledge.
Written term sheets for 1–4 unit DSCR investment property loans, by email. Business-purpose only.
Free CRE loan sizing, scenario analysis, DSCR stress tests, mortgage payments, NY/FL closing-cost estimates, loan-offer comparison and cited CRE knowledge. Bring your own numbers; calculations need no account or API key. Usage limits apply. When ready, move your scenario to Relendi, review the inputs, sign up or sign in, and save a private draft without retyping. No application or lender outreach is triggered. Illustrative estimates, not lender quotes or credit decisions. Setup and examples: https://relendi.com/mcp?utm_source=glama&utm_medium=directory&utm_campaign=mcp_launch
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLandlord and rental-property calculators as MCP tools: cash flow, cap rate, DSCR, Airbnb break-even occupancy, rent late fees, lease notice dates, and IRS mileage. Offline and deterministic, with no dependencies.MIT
- AlicenseAqualityAmaintenanceMultifamily real estate deal analysis — analyze deals, score properties, calculate max offer prices, and look up market data. Four tools for underwriting 2-200 unit apartment properties.496 npm4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze rental property deals using DoorVault IDEAL Scoring v2.0, including Section 8 FMR lookup, tax deduction checklists, and rental metrics calculations.MIT
- AlicenseAqualityCmaintenanceProvides mortgage calculation tools, including monthly payment, amortization schedules, lump sum payments, and extra monthly payments for real estate agents and AI assistants.7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.