Read-only mortgage calculators and the site's published rate snapshot.
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.
Home price search from the affordability calculator. Every input is required. The page defaults (36% DTI, 30 years, 7.28%) are not filled in. Missing inputs return "not available".
Target back-end DTI percent.
Yearly insurance as a percent of home value.
Yearly property tax as a percent of home value.
Home price search from the affordability calculator. Every input is required. The page defaults (36% DTI, 30 years, 7.28%) are not filled in. Missing inputs return "not available".
| Argument | Type | Description |
|---|---|---|
| termYears | number | |
| dtiPercent | number | Target back-end DTI percent. |
| downPayment | number | |
| monthlyDebts | number | |
| insurancePercent | number | Yearly insurance as a percent of home value. |
| annualRatePercent | number | |
| grossAnnualIncome | number | |
| propertyTaxPercent | number | Yearly property tax as a percent of home value. |
{
"type": "object",
"properties": {
"termYears": {
"type": "number"
},
"dtiPercent": {
"type": "number",
"description": "Target back-end DTI percent."
},
"downPayment": {
"type": "number"
},
"monthlyDebts": {
"type": "number"
},
"insurancePercent": {
"type": "number",
"description": "Yearly insurance as a percent of home value."
},
"annualRatePercent": {
"type": "number"
},
"grossAnnualIncome": {
"type": "number"
},
"propertyTaxPercent": {
"type": "number",
"description": "Yearly property tax as a percent of home value."
}
}
}Fixed-payment amortization using the mortgage calculator payment and the PMI calculator's balance step. Pass loanAmount, or price and downPayment. Schedule rows over 360 months return "not available".
| Argument | Type | Description |
|---|---|---|
| price | number | |
| termYears | number | |
| loanAmount | number | |
| downPayment | number | |
| annualRatePercent | number |
{
"type": "object",
"properties": {
"price": {
"type": "number"
},
"termYears": {
"type": "number"
},
"loanAmount": {
"type": "number"
},
"downPayment": {
"type": "number"
},
"annualRatePercent": {
"type": "number"
}
}
}Cash to close from the closing-cost calculator. All fee inputs are required. Missing inputs return "not available". Not a Loan Estimate.
| Argument | Type | Description |
|---|---|---|
| price | number | |
| credits | number | |
| prepaids | number | |
| downPayment | number | |
| thirdPartyFees | number | |
| titleFeePercent | number | |
| lenderFeePercent | number |
{
"type": "object",
"properties": {
"price": {
"type": "number"
},
"credits": {
"type": "number"
},
"prepaids": {
"type": "number"
},
"downPayment": {
"type": "number"
},
"thirdPartyFees": {
"type": "number"
},
"titleFeePercent": {
"type": "number"
},
"lenderFeePercent": {
"type": "number"
}
}
}Educational loan-path note already coded on the site. goal is veteran, rural, lowdown, highprice, refi, or conventional. credit may be fair or thin. Unknown goal returns "not available".
| Argument | Type | Description |
|---|---|---|
| goal | string | |
| credit | string |
{
"type": "object",
"properties": {
"goal": {
"type": "string"
},
"credit": {
"type": "string"
}
}
}Monthly principal, interest, taxes, insurance, and HOA from the HomeMortgageOnline mortgage calculator. Missing inputs return "not available". Not a quote.
| Argument | Type | Description |
|---|---|---|
| price | number | Home price in dollars. |
| termYears | number | Loan term in years. |
| monthlyHoa | number | Monthly HOA dues in dollars. Send 0 when there is no HOA. |
| downPayment | number | Down payment in dollars. |
| annualInsurance | number | Yearly homeowners insurance in dollars. |
| annualPropertyTax | number | Yearly property tax in dollars. |
| annualRatePercent | number | Annual interest rate percent. Do not omit this to use the page default. |
{
"type": "object",
"properties": {
"price": {
"type": "number",
"description": "Home price in dollars."
},
"termYears": {
"type": "number",
"description": "Loan term in years."
},
"monthlyHoa": {
"type": "number",
"description": "Monthly HOA dues in dollars. Send 0 when there is no HOA."
},
"downPayment": {
"type": "number",
"description": "Down payment in dollars."
},
"annualInsurance": {
"type": "number",
"description": "Yearly homeowners insurance in dollars."
},
"annualPropertyTax": {
"type": "number",
"description": "Yearly property tax in dollars."
},
"annualRatePercent": {
"type": "number",
"description": "Annual interest rate percent. Do not omit this to use the page default."
}
}
}Monthly PMI, LTV, and the removal walk from the PMI calculator. Missing inputs return "not available". The PMI rate is not a lender quote.
| Argument | Type | Description |
|---|---|---|
| price | number | |
| termYears | number | |
| downPayment | number | |
| annualRatePercent | number | |
| pmiAnnualRatePercent | number | |
| homeValueGrowthPercent | number |
{
"type": "object",
"properties": {
"price": {
"type": "number"
},
"termYears": {
"type": "number"
},
"downPayment": {
"type": "number"
},
"annualRatePercent": {
"type": "number"
},
"pmiAnnualRatePercent": {
"type": "number"
},
"homeValueGrowthPercent": {
"type": "number"
}
}
}Dated national rate prints already published on HomeMortgageOnline. Omit product for the full snapshot. An unknown product returns "not available". Not a quote.
| Argument | Type | Description |
|---|---|---|
| product | string | Optional id such as 30-year-fixed, 15-year-fixed, 30-year-fha, daily-30-year-fixed. |
{
"type": "object",
"properties": {
"product": {
"type": "string",
"description": "Optional id such as 30-year-fixed, 15-year-fixed, 30-year-fha, daily-30-year-fixed."
}
}
}30-year fixed history and scenario band from the rate outlook chart. Optional label such as 2024, Now, +1 mo, or +6 mo. An unknown label returns "not available".
| Argument | Type | Description |
|---|---|---|
| label | string |
{
"type": "object",
"properties": {
"label": {
"type": "string"
}
}
}Break-even months from the refinance page: closing costs divided by monthly savings, rounded up. Or pass both loans and the principal-and-interest formula supplies the savings. Missing inputs return "not available".
| Argument | Type | Description |
|---|---|---|
| newBalance | number | |
| closingCosts | number | |
| newTermYears | number | |
| currentBalance | number | |
| monthlySavings | number | |
| currentTermYears | number | |
| newAnnualRatePercent | number | |
| currentAnnualRatePercent | number |
{
"type": "object",
"properties": {
"newBalance": {
"type": "number"
},
"closingCosts": {
"type": "number"
},
"newTermYears": {
"type": "number"
},
"currentBalance": {
"type": "number"
},
"monthlySavings": {
"type": "number"
},
"currentTermYears": {
"type": "number"
},
"newAnnualRatePercent": {
"type": "number"
},
"currentAnnualRatePercent": {
"type": "number"
}
}
}Looks up a state on the rates-by-state page. stateSpecificRate is "not available" because the site does not publish a separate state rate. Unknown state returns "not available".
| Argument | Type | Description |
|---|---|---|
| state | string |
{
"type": "object",
"properties": {
"state": {
"type": "string"
}
}
}Mortgage-interest worksheet. Compares qualified interest plus other itemized amounts to a standard-deduction assumption you supply. No IRS table is filled in. Missing required inputs return "not available".
| Argument | Type | Description |
|---|---|---|
| filingStatus | string | single, married_joint, married_separate, head_of_household, or surviving_spouse. |
| otherItemized | number | |
| qualifiedInterest | number | |
| pointsPaidThisYear | number | |
| acquisitionIndebtedness | number | |
| standardDeductionAssumption | number |
{
"type": "object",
"properties": {
"filingStatus": {
"type": "string",
"description": "single, married_joint, married_separate, head_of_household, or surviving_spouse."
},
"otherItemized": {
"type": "number"
},
"qualifiedInterest": {
"type": "number"
},
"pointsPaidThisYear": {
"type": "number"
},
"acquisitionIndebtedness": {
"type": "number"
},
"standardDeductionAssumption": {
"type": "number"
}
}
}PMI tax worksheet. Deductibility is not modeled unless optInCitedDeduction is true. No phaseout table is invented. Missing annual PMI returns "not available".
| Argument | Type | Description |
|---|---|---|
| annualPmi | number | |
| originalLtv | number | |
| agiIllustration | number | |
| taxYearAssumption | string | |
| optInCitedDeduction | boolean |
{
"type": "object",
"properties": {
"annualPmi": {
"type": "number"
},
"originalLtv": {
"type": "number"
},
"agiIllustration": {
"type": "number"
},
"taxYearAssumption": {
"type": "string"
},
"optInCitedDeduction": {
"type": "boolean"
}
}
}Points worksheet: straight-line amortization or the simplified purchase-year illustration. Missing required inputs return "not available".
| Argument | Type | Description |
|---|---|---|
| method | string | straight_line or purchase_year. Blank uses straight_line, matching the worksheet. |
| loanKind | string | purchase or refinance. |
| termYears | number | |
| pointsPaid | number | |
| termMonths | number | |
| sellerPoints | number | |
| loanPrincipal | number | |
| monthsOutstanding | number |
{
"type": "object",
"properties": {
"method": {
"type": "string",
"description": "straight_line or purchase_year. Blank uses straight_line, matching the worksheet."
},
"loanKind": {
"type": "string",
"description": "purchase or refinance."
},
"termYears": {
"type": "number"
},
"pointsPaid": {
"type": "number"
},
"termMonths": {
"type": "number"
},
"sellerPoints": {
"type": "number"
},
"loanPrincipal": {
"type": "number"
},
"monthsOutstanding": {
"type": "number"
}
}
}SALT worksheet. Property tax is a cash cost. A federal deduction is returned only when saltCapAssumption is supplied. Otherwise that deduction is "not available".
| Argument | Type | Description |
|---|---|---|
| propertyTax | number | |
| saltCapAssumption | number | |
| stateIncomeOrSalesTax | number |
{
"type": "object",
"properties": {
"propertyTax": {
"type": "number"
},
"saltCapAssumption": {
"type": "number"
},
"stateIncomeOrSalesTax": {
"type": "number"
}
}
}Take-home versus PITI worksheet. Missing required housing or take-home inputs return "not available".
| Argument | Type | Description |
|---|---|---|
| monthlyHoa | number | |
| monthlyPmi | number | |
| monthlyTaxes | number | |
| annualTakeHome | number | |
| monthlyInterest | number | |
| monthlyTakeHome | number | |
| monthlyInsurance | number | |
| monthlyPrincipal | number | |
| otherDebtPayments | number |
{
"type": "object",
"properties": {
"monthlyHoa": {
"type": "number"
},
"monthlyPmi": {
"type": "number"
},
"monthlyTaxes": {
"type": "number"
},
"annualTakeHome": {
"type": "number"
},
"monthlyInterest": {
"type": "number"
},
"monthlyTakeHome": {
"type": "number"
},
"monthlyInsurance": {
"type": "number"
},
"monthlyPrincipal": {
"type": "number"
},
"otherDebtPayments": {
"type": "number"
}
}
}