Skip to main content
Glama
jibbs1703

Mortgage MCP Server

by jibbs1703

calculate_affordability

Determine your maximum affordable mortgage by applying standard 28% and 43% debt-to-income limits to your income, debts, interest rate, and loan term.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
loan_term_yearsYes
annual_gross_incomeYes
annual_interest_rateYes
monthly_debt_paymentsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description must carry behavioral load, and it discloses the calculation model, the binding-constraint logic, and the fixed 3/5/10/20% down-payment scenarios. It does not state that the tool is a side-effect-free pure computation, but the methodology disclosure is substantive.

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?

Well front-loaded: the core purpose and governing rules lead, with mechanical Args/Returns structure after. The down-payment scenario detail is slightly extraneous but every part is readable and the purpose is not buried.

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

Completeness4/5

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

An output schema exists, so return values need not be elaborated, and the description still summarizes them. Combined with the methodology disclosure and all four parameters explained, an agent has what it needs, though sibling differentiation and usage conditions remain thin.

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

Parameters4/5

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

Schema coverage is 0%, so the description carries the full burden, and it does compensate: it clarifies that income is gross and pre-tax, that debts are existing monthly obligations, and that the rate is a percentage and the term is in years. Units and intent are added beyond the bare schema titles, though no valid ranges or edge-case handling are given.

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

Purpose5/5

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

The description states a precise verb (calculate) and resource (maximum affordable mortgage) and names the governing methodology (standard 28% front-end / 43% back-end DTI). This clearly distinguishes it from siblings like calculate_monthly_payment or get_amortization_schedule, which do not perform affordability inversion.

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 implied by the DTI-based affordability framing, but the description never states when to prefer this over siblings such as calculate_monthly_payment or compare_loan_scenarios, nor any prerequisites or exclusions. Adequate but leaves the routing decision to inference.

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