Skip to main content
Glama

Multifamily Today: HUD Fair Market Rents

Server Details

HUD FY 2027 Fair Market Rents by county and ZIP, with history and state summaries.

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.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct query shape: multi-county comparison, single county/town, single ZIP (Small Area FMR), and state/national aggregate. Overlap between get_fmr_by_county and get_fmr_by_zip is explicitly resolved by geography (county vs. ZIP-level SAFMR), so an agent can select reliably.

Naming Consistency5/5

All names follow a predictable verb_resource pattern (compare_fmr, get_fmr_by_county, get_fmr_by_zip, get_state_fmr_summary), with consistent snake_case and consistent 'fmr' domain token. The single 'compare_' verb is a meaningful, not arbitrary, deviation.

Tool Count5/5

Four tools is well within the ideal 3-15 range and each covers a non-redundant access path (compare, county, ZIP, state/national). Nothing feels padded or missing at the interface level.

Completeness4/5

Core read paths for FMR data are covered: county, ZIP/SAFMR, state/national summary, and multi-county comparison, including history and change metrics. Minor gaps exist, e.g. no metro/HUD FMR area-level lookup, no ZIP-to-ZIP comparison, and county history is limited to the 2-bedroom series.

Available Tools

4 tools
compare_fmrCompare fair market rents across countiesA
Read-onlyIdempotent
Inspect

Side-by-side HUD FY 2027 Fair Market Rents for 2 to 10 counties (studio to 4-bedroom) with one- and five-year 2-bedroom change, sorted by the bedroom count you choose. Useful for comparing rental markets or voucher rent ceilings.

NameRequiredDescriptionDefault
placesYesCounties to compare, e.g. [{"state":"TX","county":"Travis"},{"state":"TX","county":"Harris"}].
bedroomsNoBedroom count to sort by, 0 = studio.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world behavior, so the safety profile is covered. The description adds context annotations cannot: the data vintage (FY 2027), the bedroom range covered, that output includes one- and five-year 2-bedroom change, and that results are sorted by the chosen bedroom count.

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

Conciseness5/5

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

A single dense sentence carries the operation, scope, and output shape, followed by one short usage sentence. No filler, and the most decision-relevant detail (counties compared, bedroom sorting) is front-loaded.

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 does the work of conveying what comes back: FMRs by bedroom count plus one- and five-year 2-bedroom changes, sorted. That is close to complete for a two-parameter read tool, though it could say more about error behavior for unknown counties.

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%, with minItems/maxItems and the bedroom sort semantics already documented in the schema. The description restates the 2–10 county bound and the studio-to-4-bedroom range but adds no format examples or edge-case behavior beyond that baseline.

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?

States a specific verb (compare) and resource (HUD FY 2027 Fair Market Rents), plus the exact scope: 2 to 10 counties, studio to 4-bedroom. This scope naturally separates it from siblings like get_fmr_by_county, get_fmr_by_zip, and get_state_fmr_summary, which are single-place or aggregate lookups.

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 closing sentence gives concrete usage contexts — comparing rental markets or voucher rent ceilings — which tells an agent when this multi-county comparison is the right pick. It stops short of explicitly naming the sibling tools and when not to use this one, so it is clear context without full routing guidance.

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

get_fmr_by_countyFair market rent for a countyA
Read-onlyIdempotent
Inspect

HUD FY 2027 Fair Market Rents (effective Oct 1, 2026) for one county, parish or New England town: studio to 4-bedroom, the HUD FMR area it belongs to, whether FY 2026 rents stay in effect there, one- and five-year change in the 2-bedroom FMR, and the 2-bedroom history back to FY 2017.

NameRequiredDescriptionDefault
stateYesTwo-letter state code, e.g. TX.
countyYesCounty, parish or town name, e.g. "Travis" or "Travis County".

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive and closed-world, so the description rightly spends its words on substance the annotations cannot: dataset vintage (FY 2027, effective Oct 1, 2026), the FY 2026 carry-over flag, and the depth of historical data (back to FY 2017). It omits any note on error/not-found behavior for unresolvable counties, which is the main remaining gap.

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?

A single dense sentence with zero filler, front-loaded with the dataset and geography before the field list. It is long but each clause carries distinct information; a slight structural cost is that the returned-field list is a comma run rather than a scannable breakdown.

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 correctly takes on the burden of enumerating return contents (bedroom range, FMR area, carry-over flag, 1- and 5-year change, 2BR history). Missing is any mention of behavior when the county cannot be resolved or when FMR data is unavailable for a given area.

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% — both parameters carry their own format guidance (two-letter state code; 'Travis' or 'Travis County'). The description adds no additional parameter meaning, so the baseline of 3 applies.

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?

States a specific verb+resource: retrieve HUD FY 2027 FMRs for a single county/parish/New England town, and enumerates the exact fields returned. Geographic scope ('one county') implicitly separates it from get_fmr_by_zip and get_state_fmr_summary, but no sibling is named 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 by the scope of the data (single county lookup). There is no statement of when to choose this over get_fmr_by_zip or compare_fmr, nor any prerequisite or exclusion such as what to do if the county name is ambiguous or unmatched.

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

get_fmr_by_zipSmall Area Fair Market Rent for a ZIP codeA
Read-onlyIdempotent
Inspect

HUD FY 2027 Small Area Fair Market Rents (ZIP-level, effective Oct 1, 2026) for one ZIP code, studio to 4-bedroom, with the HUD FMR area. A ZIP that crosses areas returns one row per area. Small Area FMRs set voucher payment standards in the 65 mandatory metros and are optional elsewhere.

NameRequiredDescriptionDefault
zipYesFive-digit ZIP code, e.g. 78704.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent and non-destructive, so the safety profile is handled. The description adds genuinely non-obvious behavior: a ZIP crossing HUD FMR areas returns one row per area, plus effective date (Oct 1, 2026) and the bedroom range returned. It does not describe formatting or empty/ZIP-not-found handling, but that is a minor gap.

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?

Three tight sentences, front-loaded with vintage and scope, then return shape, then domain context. Efficient overall, though the mandatory-metro/voucher-payment sentence is background color rather than invocation-critical.

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 does the work of explaining returns: studio to 4-bedroom rents, one row per area, and the accompanying HUD FMR area. For a single-param read tool with rich annotations, that is close to sufficient; only error/empty-result behavior is unstated.

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?

There is a single parameter with 100% schema description coverage including a regex pattern and example, so the schema carries full burden. The description only restates 'for one ZIP code' and adds no format, normalization or edge-case detail beyond the schema; 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?

States a specific verb and resource (get Small Area FMR) plus the exact scope: one ZIP code, ZIP-level, studio to 4-bedroom. The ZIP-granularity framing implicitly separates it from get_fmr_by_county and get_state_fmr_summary, so an agent can route 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 Guidelines3/5

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

The FY/vintage and the note that SAFMRs set voucher payment standards in 65 mandatory metros and are optional elsewhere gives useful applicability context. But it never explicitly says when to prefer this over get_fmr_by_county or compare_fmr, and there is no when-not guidance; usage is only implied by the ZIP-level framing.

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

get_state_fmr_summaryFair market rent summary for a stateA
Read-onlyIdempotent
Inspect

A state's FY 2027 Fair Market Rent picture: number of counties or towns, median, lowest and highest 2-bedroom FMR, median one- and five-year change, and the places that rose or fell most. Omit state for the national summary.

NameRequiredDescriptionDefault
stateNoTwo-letter state code, e.g. FL. Omit for the whole US.

TDQS

A3.8/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 fully covered. The description adds the payoff: the exact set of metrics and extremes returned, plus the national fallback when state is omitted. It does not mention pagination or precision/rounding, but for a read-only aggregate that is minor.

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

Conciseness5/5

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

Two sentences, zero waste: the metric inventory is front-loaded and the fallback rule trails immediately after. Every listed item earns its place because no output schema exists to carry that information.

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 correctly takes on the burden of describing returns and does it thoroughly, and it explains the zero-required-parameter case. The remaining gap is sibling disambiguation, which matters given three adjacent FMR tools.

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% and the single parameter's description already says 'Omit for the whole US.' The description's 'Omit state for the national summary' restates that, adding only the word 'national summary' framing rather than new semantics. Baseline 3 is appropriate for a one-parameter tool whose schema is fully documented.

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 the resource (a state's FY 2027 Fair Market Rent picture) and enumerates exactly what the summary contains: county/town counts, median, low/high 2-bedroom FMR, one- and five-year change, and biggest movers. That aggregate framing implicitly separates it from the per-county and per-zip siblings, but no sibling is named 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?

The only usage instruction is 'Omit state for the national summary,' which is parameter guidance rather than tool-selection guidance. Nothing tells the agent when to pick this over compare_fmr, get_fmr_by_county, or get_fmr_by_zip, so the routing has to be inferred from the word 'summary.'

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. 4 tool updates
    • First observedcompare_fmr
    • First observedget_fmr_by_county
    • First observedget_fmr_by_zip
    • First observedget_state_fmr_summary

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for HUD housing data, enabling Fair Market Rent lookups, Section 8 income limits, and ZIP-to-county crosswalk mapping for affordable housing assessments.
    6
    13 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides access to U.S. HUD datasets covering fair market rents, income limits, USPS vacancy data, public housing, homelessness counts, and CHAS housing statistics.
    387 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Live real estate market data for 895 US metros. Ask your AI assistant about home prices, rental yields, investment health scores, migration trends, and affordability. Free tier covers top 50 markets (no account needed). Premium tier unlocks all 895 markets, HUD Fair Market Rents, side-by-side market comparison, and filtered market search.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Submarket-level US residential rental intelligence for AI agents. Search, compare, rank, and analyze rent data, trends, vacancy, affordability, and days on market across 1,000+ named submarkets in the 20+ largest US metros. ZIP-level and metro-level queries included. Always current, always expanding. Free tier available.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources