Skip to main content
Glama

Stackup: Fannie, Freddie and HUD multifamily loan sizing

Server Details

Size an apartment loan under Fannie Mae, Freddie Mac and HUD published limits, side by side.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

The three tools have clearly distinct roles: compare_programs performs building-specific sizing and eligibility ranking, get_program_terms returns static published program parameters, and get_treasury_yields retrieves current rate inputs. Although compare_programs and get_program_terms both involve program limits, one is a calculation and the other is a reference lookup, so an agent can select between them reliably.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: compare_programs, get_program_terms, and get_treasury_yields. The convention is predictable and easy to map to tool behavior.

Tool Count5/5

Three tools are well-scoped for a focused multifamily loan sizing and program comparison server. Each tool has a clear purpose and there is no redundant surface area; the set is small but sufficient for the stated workflow.

Completeness4/5

The surface covers the core lifecycle: comparing programs for a building, retrieving published program terms, and obtaining current Treasury/SOFR rate inputs. Minor gaps remain, such as no tool for detailed amortization schedules or lender-specific rate quotes, but agents can work around these for the stated loan sizing purpose.

Available Tools

3 tools
compare_programsSize one apartment building under Fannie Mae, Freddie Mac and HUD loansA
Read-onlyIdempotent
Inspect

Runs the multifamily.online comparison app on one 5+ unit building: for Fannie Mae DUS and Small Loans, Freddie Mac Optigo Conventional and Conventional Small, and HUD 223(f), 221(d)(4) and 223(a)(7), returns whether it fits the published limits (or why not), max loan by LTV/LTC and by DSCR, the binding limit, estimated monthly payment incl. HUD MIP, term, and warnings, ranked by max loan. SBA, bank, CMBS, bridge and DSCR loans are listed as ineligible or unpublished.

NameRequiredDescriptionDefault
noiNoNet operating income in dollars per year (projected stabilized NOI for construction). Omit and give gross_rent + operating_expenses instead to compute it.
unitsYesNumber of residential units (5 or more).
valueYesPurchase price (purchase), current value (refinance or cash-out) or total development cost (construction), in dollars.
closingNoWhen you need to close.60_to_120_days
purposeYesWhat the loan is for. construction = new construction or substantial rehab.
rate_pctNoOptional all-in interest rate in percent. Replaces Treasury + spread when given.
recourseNoWhether you need a non-recourse loan.need_non_recourse
gross_rentNoGross scheduled rent per year, used only when noi is omitted.
hold_yearsNoHow long you plan to keep the loan or property, in years. Drives Freddie Mac term choice and prepayment warnings. Default 10.
spread_pctNoSpread over the Treasury, in percent. Default 1.75 is the site's example, not a quote; lenders do not publish spreads.
stabilizedNoWhether the property is at stabilized occupancy now.
fha_insuredNoWhether the current loan is already FHA-insured (needed for HUD 223(a)(7)).
vacancy_pctNoVacancy and credit loss as a percent of rent plus other income, used only when noi is omitted. Default 5.
assisted_pctNoPercent of units under project-based rental assistance (HAP/Section 8). 90+ gets HUD's assisted limits.
desired_loanNoLoan amount you want, in dollars. 0 or omitted = the most each program allows.
other_incomeNoOther income per year (parking, laundry), used only when noi is omitted.
property_typeNomarket_rate, or affordable (rent-restricted, e.g. LIHTC).market_rate
fha_years_leftNoYears left on the FHA-insured loan, for 223(a)(7). Default 25.
rent_advantageNoAffordable only: restricted rents sit below market rents (HUD calls this a rent advantage; it gets HUD's affordable limits). Default true.
treasury_tenorNoTreasury tenor the rate is built on: 5, 7 or 10 years. Default 10.
current_balanceNoCurrent loan balance in dollars (refinance and cash-out).
amortization_yearsNo0 = each program's maximum amortization (the default), or 25, 30 or 35 years for every program.
operating_expensesNoOperating expenses per year, used only when noi is omitted.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the description's job is to add context beyond that — and it does, enumerating the return payload (fit/no-fit with reason, max loan by LTV/LTC and DSCR, binding constraint, payment incl. HUD MIP, term, warnings, ranked by max loan). This is valuable 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.

Conciseness4/5

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

Two sentences, no filler, and the program scope is front-loaded before the payoff list. The first sentence is long and clause-heavy (nested program enumerations), which slightly hurts scannability, but every element earns its place.

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?

For a 23-parameter computation tool with no output schema, the description is complete: it names the programs, the eligibility verdicts, the computed outputs, the ranking, and the excluded product types. An agent knows what it will get back and what the tool will not tell it.

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 description coverage is 100%, including defaults, ranges, enum meanings and conditional usage ('used only when noi is omitted'), so the schema already carries parameter meaning. The description adds no parameter-level guidance of its own beyond mentioning HUD MIP, so baseline 3 applies.

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?

Specific verb ('Runs the multifamily.online comparison app'), precise resource (one 5+ unit building), and explicit program scope (Fannie DUS/Small, Freddie Optigo Conventional/Small, HUD 223(f)/221(d)(4)/223(a)(7)). It also states which loan types are out of scope, so an agent can tell it apart from get_program_terms and get_treasury_yields without opening the schema.

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

Usage Guidelines4/5

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

The description makes the use case clear (size/compare one deal across agency and HUD programs) and rules out SBA, bank, CMBS, bridge and DSCR products. It does not, however, explicitly route the agent to get_program_terms or get_treasury_yields, so the sibling relationship is left implicit.

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

get_program_termsPublished terms for a multifamily loan programA
Read-onlyIdempotent
Inspect

Published limits for one multifamily loan program or all of them, as multifamily.online lists them: max LTV or LTC, minimum DSCR, term and amortization, prepayment, recourse, structure, HUD mortgage insurance where it applies, and the agency source document with its date and URL. Covers Fannie Mae DUS and Small Loans, Freddie Mac Optigo Conventional and Conventional Small, HUD 223(f), 221(d)(4), 223(a)(7), SBA, bank, CMBS, bridge and DSCR loans.

NameRequiredDescriptionDefault
programNoWhich program. Omit or "all" for every program.all

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is covered. The description adds meaningful context beyond that: it discloses the data provenance ('as multifamily.online lists them', 'the agency source document with its date and URL'), which tells the agent the values are third-party-sourced and dated rather than computed live. It does not discuss caching or how often the source data is refreshed.

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?

Two sentences: the first front-loads what is returned, the second enumerates covered programs. The program list is long but functional since it tells the agent the tool's full coverage. Minor redundancy between 'all of them' and the enumerated list, but no filler.

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?

With no output schema, the description usefully compensates by enumerating the returned fields, and the read-only annotations cover the safety profile. The main residual gap is the lack of routing guidance relative to compare_programs, which matters for a tool whose sibling also spans multiple programs.

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 description coverage is 100% and the single enum parameter is fully documented with its default, so the schema carries the semantic load. The description's 'one ... or all of them' merely restates the schema's default behavior and adds no new parameter meaning.

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 resource (published loan-program limits) and enumerates the exact fields returned (max LTV/LTC, min DSCR, term, amortization, prepayment, recourse, HUD insurance, source document). An agent immediately understands this is a reference-lookup tool. It stops short of distinguishing itself from the sibling compare_programs, which an agent could easily confuse with a multi-program query.

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?

The phrase 'for one multifamily loan program or all of them' implies the two usage modes, and the coverage list signals which loan types are in scope. However, there is no explicit when-to-use versus compare_programs or get_treasury_yields, and no stated exclusions or prerequisites.

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

get_treasury_yieldsTreasury yields and SOFR behind agency multifamily ratesA
Read-onlyIdempotent
Inspect

The latest 5-, 7- and 10-year U.S. Treasury par yields and overnight SOFR that the multifamily.online app builds its example rate on, each with its as-of date, the reading a week and a month earlier when available, freshness status and the publisher link (U.S. Treasury, New York Fed).

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description goes beyond them by disclosing that each value carries an as-of date, that week- and month-earlier readings appear only 'when available', and that a freshness status and publisher link are included — real signals about possibly stale data and variable presence of fields. It stops short of stating units (e.g. percent) or whether multiple entries per tenor are returned.

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?

It is a single front-loaded sentence that leads with the instrument tenors and then the metadata fields, with no filler. It is dense — the 'each with its...' clause runs long — but every element listed corresponds to a returned field, so nothing is wasted.

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?

There is no output schema, so the description carries the burden of describing the shape of the result, and it does so by enumerating series, as-of dates, prior readings, freshness and source links. Given zero parameters and full annotation coverage, this is nearly sufficient; only units/format of the yields and the precise structure of the response remain unstated.

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?

The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. The description correctly implies a no-argument 'fetch latest snapshot' call by never referencing any filter or option.

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 resource (5-, 7- and 10-year Treasury par yields plus overnight SOFR) and enumerates the accompanying fields, so an agent knows exactly what this returns. It also implicitly separates itself from the program-focused siblings by being macro-rate data, though it never names compare_programs or get_program_terms to state the boundary explicitly.

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: the phrase 'that the multifamily.online app builds its example rate on' hints this is the benchmark-rate lookup to use when explaining pricing context. There is no explicit when-to-use statement, no exclusions, and no mention of the sibling tools, so the agent must infer the routing decision.

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.

  1. 3 tool updates
    • First observedcompare_programs
    • First observedget_program_terms
    • First observedget_treasury_yields

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Multifamily 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.
    4
    96 npm
    4
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to calculate exact debt service coverage ratios, maximum loan amounts, required rent, scenario comparisons, and amortization schedules for rental property loans, returning structured results with sources and dates.
    5
    0
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Landlord 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    A headless MCP connector that lets you underwrite commercial and multifamily deals inside a Claude chat, providing exact arithmetic for NOI, valuation, debt sizing, DSCR, and returns.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources