Skip to main content
Glama

Porchlight: 2-4 unit loan limits and owner-occupant math

Owner-occupant math for a duplex, triplex or fourplex

house_hack_math
Read-onlyIdempotent

Runs the site's 2-4 unit owner-occupant calculator: down payment, base loan, FHA upfront and annual MIP, the monthly PITI, the loan against the county limit (when state and county are given), FHA's self-sufficiency test on 3-4 units, the rent a lender can count (75% of the other units), net monthly cost after their rent, and the reserves rule for FHA, VA or conventional.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "units": "<units>",
      "price": "<price>",
      "loan_type": "<loan_type>",
      "rate_pct": "<rate_pct>",
      "rents": "<rents>"
    },
    "name": "house_hack_math"
  }
}

Input Schema

NameRequiredDescriptionDefault
priceYesPurchase price in dollars.
rentsYesMonthly market rent per unit, one per unit; the first is the unit the buyer will live in. E.g. [1800, 1800, 1800].
stateNoOptional two-letter state code, to check the loan against the county limit.
unitsYesUnits in the building: 2 duplex, 3 triplex, 4 fourplex.
countyNoOptional county name (needs state).
rate_pctYesInterest rate in percent, e.g. 6.5. Use the rate the buyer was quoted; there is no default.
loan_typeYesLoan program.
term_yearsNoLoan term.
vacancy_pctNoAppraiser's vacancy and maintenance estimate, %. The self-sufficiency test uses the greater of this or 25.
va_entitlementNoVA only: full (none in use) or partial (some still in use on another loan).full
down_payment_pctNoDown payment as % of price. Defaults to 3.5 (FHA), 0 (VA) or 5 (Conventional).
insurance_annualNoAnnual homeowners insurance in dollars.
finance_upfront_mipNoFHA only: add the 1.75% upfront premium to the loan.
property_tax_annualNoAnnual property tax in dollars.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description still adds substantive domain behavior: the 75%-of-other-units rent haircut, the 25% floor on the self-sufficiency vacancy assumption, the conditional county-limit check, and the FHA/VA/conventional reserves rule. It stops short of stating assumptions like which MIP rates or limit vintages are used, or how errors surface.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the opening clause and every subsequent item is a distinct computed quantity, with no filler. It is a single ~70-word sentence, though the comma-list format makes it denser than a short bulleted enumeration would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 14 parameters, 5 required, and no output schema, the description usefully compensates by telling the agent what the response will contain across all the calculation stages. Combined with 100% schema coverage and explicit conditionals, an agent has what it needs to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already carries units, ranges, enums and defaults for all 14 parameters; the description only indirectly touches parameters by referencing the computed outputs. The one meaningful hint beyond the schema — that the lender counts 75% of the other units' rent — is about output logic rather than parameter meaning, so this lands at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific calculator and enumerates exactly what it computes (down payment, base loan, MIP, PITI, county-limit check, self-sufficiency test, countable rent, net cost, reserves), which makes clear it is a computation tool rather than the sibling limit-lookup tools. It never explicitly names get_loan_limits/list_state_loan_limits as alternatives, so the routing signal is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: this is the 2-4 unit owner-occupant scenario tool, with conditionals noted such as the county-limit check applying 'when state and county are given' and self-sufficiency only on 3-4 units. There is no statement of when not to use it or which sibling to reach for instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources