Mortgage MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| calculate_monthly_paymentB | Calculate the fixed monthly payment for a mortgage. Args: principal: Loan amount in dollars (e.g., 350000). annual_interest_rate: Annual interest rate as a percentage (e.g., 6.5). loan_term_years: Loan term in years (e.g., 30). Returns: JSON object with the monthly_payment field. |
| get_amortization_scheduleB | Get the complete month-by-month amortization schedule. Args: principal: Loan amount in dollars. annual_interest_rate: Annual interest rate as a percentage. loan_term_years: Loan term in years. Returns: JSON object with payment_info and the full entries list. |
| calculate_with_lump_sumA | Calculate the amortization schedule after a one-time lump sum payment. The lump sum is applied at the specified month, reducing the outstanding balance. The remaining schedule uses the same monthly payment against the lower principal, resulting in a shorter loan term. Args: principal: Loan amount in dollars. annual_interest_rate: Annual interest rate as a percentage. loan_term_years: Original loan term in years. monthly_payment: Regular monthly payment amount. lump_sum_amount: One-time extra payment to apply. month_to_apply: Month (1-based) when the lump sum is applied. Returns: JSON object with the updated amortization schedule. |
| calculate_with_extra_paymentsA | Calculate accelerated payoff from extra monthly payments for a fixed period. The extra amount is added to every payment for the first num_months_with_extra months. The loan then reverts to the base payment for any remaining balance, reaching payoff earlier than the original term. Args: principal: Loan amount in dollars. annual_interest_rate: Annual interest rate as a percentage. loan_term_years: Original loan term in years. monthly_payment: Base monthly payment amount. extra_monthly_payment: Extra amount added each month during the extra period. num_months_with_extra: Number of months to make the extra payment. Returns: JSON object with the updated amortization schedule. |
| compare_loan_scenariosA | Compare two loan scenarios side by side. Returns full amortization schedules for both scenarios plus structured difference metrics: monthly payment delta, total interest delta, total cost delta, term length delta, and which scenario wins on each dimension. Typical uses: compare 15-year vs. 30-year loans, compare two different rates on the same principal, or compare different loan amounts. Args: label_a: Human-readable label for scenario A (e.g., "30-year at 6.5%"). principal_a: Loan amount for scenario A in dollars. annual_interest_rate_a: Annual rate for scenario A as a percentage. loan_term_years_a: Term for scenario A in years. label_b: Human-readable label for scenario B. principal_b: Loan amount for scenario B in dollars. annual_interest_rate_b: Annual rate for scenario B as a percentage. loan_term_years_b: Term for scenario B in years. Returns: JSON object with both schedules and computed comparison metrics. |
| calculate_refinance_break_evenA | Analyse whether refinancing a mortgage makes financial sense. Computes the monthly savings from switching to the new rate, the break-even month at which those savings recover the closing costs, and the net interest impact over the remaining loan life. Args: current_balance: Remaining principal on the existing loan in dollars. current_annual_rate: Current loan's annual rate as a percentage. remaining_months: Number of payments remaining on the current loan. new_annual_rate: Proposed new loan's annual rate as a percentage. closing_costs: Total closing costs for the refinance in dollars. new_term_years: Term for the new loan in years. Returns: JSON object with break-even timeline, interest savings, and a recommendation. |
| calculate_affordabilityA | Calculate the maximum affordable mortgage using standard DTI guidelines. Applies the conventional 28% front-end (housing-only) and 43% back-end (all-debt) debt-to-income limits. The binding constraint determines the maximum monthly payment, which is then inverted to a maximum loan principal. Purchase price projections are shown for 3%, 5%, 10%, and 20% down payments. Args: annual_gross_income: Borrower's gross annual income before taxes. monthly_debt_payments: Existing monthly obligations (car, student loans, etc.). annual_interest_rate: Target mortgage rate as a percentage. loan_term_years: Desired loan term in years. Returns: JSON object with max loan amount, payment caps, and purchase price scenarios. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_purchase_decision | Comprehensive analysis of a home purchase decision using all available tools. |
| evaluate_refinance | Evaluate whether refinancing an existing mortgage makes financial sense. |
| compare_loan_offers | Side-by-side comparison of two mortgage offers or loan scenarios. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| dti_guidelines | Standard debt-to-income ratio guidelines used by conventional mortgage lenders. |
| amortization_formulas | Mathematical formulas underlying the mortgage calculations in this server. |
TDQS
Scored across 7 tools
Each tool targets a distinct mortgage calculation: monthly payment, amortization schedule, lump sum, extra payments, scenario comparison, refinance break-even, and affordability. Overlap between calculate_monthly_payment and get_amortization_schedule is minimal because the latter returns a full schedule while the former returns just the payment.
All tool names use snake_case with a clear verb_noun or verb_noun_phrase pattern (calculate_*, get_*, compare_*). The convention is applied consistently across all seven tools.
Seven tools is well within the ideal 3-15 range and each tool provides a distinct calculation needed for mortgage analysis. No tool feels redundant or out of scope.
The suite covers core fixed-rate mortgage calculations from affordability through amortization, extra payments, and refinancing. Minor gaps exist for specialized products like ARMs or interest-only loans, and no tool includes taxes/insurance/PMI in payment calculations.