Skip to main content
Glama

Contract Clock: HUD Section 8 contract expirations

Server Details

HUD Section 8 HAP contract expirations, below-FMR screen and property lookup by state.

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
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct query shape: a dated expiration list, a single-property detail lookup, a rent-ratio screen, and a state/national summary. The only mild overlap is between expiring_contracts and screen_below_fmr, which both return filtered contract lists with similar fields, but the descriptions make the filter difference (date window vs. rent-to-FMR threshold) explicit.

Naming Consistency3/5

Conventions are mixed: get_property and screen_below_fmr are verb-led, while expiring_contracts and state_contract_summary are noun phrases. All names are readable and domain-descriptive, but there is no predictable verb_noun pattern to generalize from.

Tool Count4/5

Four tools is lean but each covers a genuinely different access pattern (filtered list, entity detail, screening query, aggregate roll-up). It sits at the low end of the comfortable range but does not feel padded or arbitrary.

Completeness4/5

The surface covers listing, filtering, detail retrieval and aggregation for the HUD contract domain. The main gap is the absence of an unfiltered 'all contracts in a state' listing (every list tool requires a date window or rent-ratio threshold), which forces workarounds for a plain inventory query.

Available Tools

4 tools
expiring_contractsSection 8 contracts expiring in a stateA
Read-onlyIdempotent
Inspect

Active HUD project-based Section 8 and assistance contracts (HAP, PRAC, RAC, PAC) in one state whose overall or current expiration date falls in a date window, with property name, city, county, assisted units, program, both expiration dates, rent-to-FMR ratio and FHA number. Filter by county, city, contract type and size; page through results.

NameRequiredDescriptionDefault
cityNoOptional city name, e.g. "Cleveland".
fromNoOptional window start, YYYY-MM-DD (default: the HUD file's as-of date).
sortNoSoonest first (default) or largest first.date
limitNoRows to return, 1 to 20 (default 10); page with offset for more.
stateYesTwo-letter state or territory code, e.g. OH.
countyNoOptional county name as HUD spells it, e.g. "Cuyahoga".
offsetNoRows to skip, for paging.
throughNoOptional window end, YYYY-MM-DD.
date_fieldNo"overall" = end of the contract term (default); "current" = end of the currently funded piece, which is often renewed.overall
contract_typeNoOptional HUD contract document type.
within_monthsNoWindow length in months, measured from the HUD file's as-of date (default 24, as on the deal screen). Ignored when "through" is given.
min_assisted_unitsNoOptional minimum assisted units on the contract.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds context beyond that: the dataset is restricted to ACTIVE contracts, the date filter can key off either overall or current expiration, and the row payload is enumerated. It does not mention that paging beyond the 20-row limit requires offset, though 'page through results' gestures at it.

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, with the core identity and scope front-loaded and the filtering/paging note trailing. The first sentence is long and carries a heavy clause chain, but every clause (active status, contract types, date window, returned fields) contributes information.

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 12-parameter read tool with no output schema, the description supplies the one thing the schema cannot: a concrete inventory of returned fields (property name, city, county, assisted units, program, both expiration dates, rent-to-FMR ratio, FHA number). Combined with 100% schema coverage and full annotations, an agent has enough to call this correctly.

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%, so every parameter including the tricky date_field and within_months defaults is already documented in the schema. The description's 'filter by county, city, contract type and size' merely restates parameter names and adds no new semantics, so the baseline 3 is correct.

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 resource (active HUD project-based Section 8 / HAP, PRAC, RAC, PAC contracts), a scope (one state), a filter condition (expiration date in a window) and the returned fields. It never names or distinguishes itself from the sibling state_contract_summary, which is the closest overlap, so it stops short of a 5.

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 rather than stated: 'in one state', 'Filter by county, city, contract type and size; page through results' tells the agent roughly how to drive it, but there is no when-to-use-this-vs-state_contract_summary guidance and no note that a state is required or that results cap at 20 rows per page.

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

get_propertySection 8 property and its contractsA
Read-onlyIdempotent
Inspect

One HUD Section 8 or assistance property with every contract on it: address, county, total units, HUD property category and financing type, FHA number, and per contract the number, program, status, effective date, both expiration dates, term, assisted units and rent-to-FMR ratio. Look up by contract number, HUD property ID, or property name within a state.

NameRequiredDescriptionDefault
cityNoOptional city, to narrow a name search.
nameNoProperty name or part of it, e.g. "Carvel Gardens" (needs "state").
stateNoTwo-letter state code. Optional with a contract number.
property_idNoHUD property ID, e.g. 800003809 (needs "state").
contract_numberNoHUD contract number, 11 characters, e.g. DE26M000010.

TDQS

A3.8/5.0
Behavior4/5

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

The read-only annotations already establish the safety profile, and the description adds substantial value by specifying that the tool returns one property with every contract and by enumerating the returned fields. It does not cover no-match behavior or whether name searches can ever return multiple properties.

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?

The description is front-loaded with the resource and returned data, then closes with lookup methods. It contains no filler, and the field enumeration is justified because there is no output schema.

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 necessary work of explaining the returned property and contract fields. One gap remains: the schema marks zero required parameters, while the tool logically needs at least one lookup key, and the description does not explicitly state that constraint.

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%, so the schema already documents all five parameters, including examples and state requirements. The description restates the lookup modes in combined form but adds little semantic detail beyond what the schema provides.

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 clearly identifies a single HUD Section 8 property and enumerates the contract-level data returned, making it distinct from aggregate or filtered-list siblings. It does not explicitly name or contrast those siblings, which keeps it from a 5.

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?

It implies usage by listing three lookup keys: contract number, HUD property ID, or property name within a state. However, it gives no explicit when-to-use guidance relative to sibling tools and does not state exclusions or prerequisites beyond the lookup keys.

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

screen_below_fmrSection 8 HAP contracts paying under Fair Market RentA
Read-onlyIdempotent
Inspect

The deal screen's rent test for one state: active Section 8 HAP contracts whose rent-to-FMR ratio in HUD's file is above zero and under a threshold (default 90%), with property, assisted units, ratio, both expiration dates and a prefilled offer-calculator link. Optional filters: county, city, minimum assisted units, overall expiration within N months.

NameRequiredDescriptionDefault
cityNoOptional city name, e.g. "Cleveland".
sortNoLowest ratio first (default), largest first, or soonest overall expiration first.rent_to_fmr
limitNoRows to return, 1 to 20 (default 10); page with offset for more.
stateYesTwo-letter state or territory code, e.g. OH.
countyNoOptional county name as HUD spells it, e.g. "Cuyahoga".
offsetNoRows to skip, for paging.
max_rent_to_fmrNoKeep contracts whose rent-to-FMR ratio is under this percent (default 90, the deal screen's line).
min_assisted_unitsNoOptional minimum assisted units (the state page table uses 20).
expiring_within_monthsNoOptional: only contracts whose overall expiration falls within this many months of the HUD file date.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this as a read-only, non-destructive, idempotent, closed-world operation. The description adds useful behavioral context beyond annotations: it specifies that only active contracts are returned, describes the ratio condition, and names the fields and prefilled offer-calculator link included in results. It does not address auth or rate limits, but those are less critical here.

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?

The description is two sentences, front-loaded with the core screening logic, then the return payload, then optional filters. It is dense but appropriately sized for a 9-parameter tool, with little wasted language.

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 usefully names the return fields and prefilled calculator link. It also covers the threshold behavior and optional filters. Pagination and sorting are left to the fully documented schema, which is acceptable; the definition is complete enough for correct invocation.

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%, so the schema already documents all nine parameters thoroughly. The description restates the default threshold and lists optional filters, but adds no syntax, format, or edge-case semantics beyond what the schema provides. Baseline 3 is appropriate when structured fields carry the parameter burden.

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 states a specific resource and screening condition: active Section 8 HAP contracts where rent-to-FMR is above zero and below a configurable threshold. It clearly identifies the tool's scope by state and lists returned fields, though it does not explicitly distinguish itself from siblings like expiring_contracts or state_contract_summary.

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 'deal screen's rent test for one state' implies the intended context, and optional filters are listed. However, there is no explicit guidance on when to choose this tool over expiring_contracts, get_property, or state_contract_summary, nor any 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.

state_contract_summarySection 8 contract counts by stateA
Read-onlyIdempotent
Inspect

Deal-screen counts for one state, or every state ranked: properties, active contracts and assisted units, contracts reaching final (overall) expiration within two years of the HUD file date with their assisted units, and HAP contracts paying under 90% of Fair Market Rent. Omit state for the national ranking.

NameRequiredDescriptionDefault
limitNoStates to list in the ranking, 1 to 30 (default 15).
stateNoTwo-letter state code, e.g. CA. Omit for all states.
rank_byNoNational ranking order (ignored with "state").expiring

TDQS

A3.5/5.0
Behavior3/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 safety profile is covered. The description adds real domain context — the two-year window is measured against the HUD file date, and the expiration counted is the final/overall one — but says nothing about result size, paging, or what a state-scoped response looks like beyond the metric list.

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, with the metric list front-loaded and the state/default behavior trailing. The first sentence is long and heavily comma-laden, but each clause names a distinct countable and none is 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?

There is no output schema, so the description carries the burden of describing the return, and it does so by enumerating the five reported figures. It falls short on shape details — whether a state query returns a single row, and in what order the national ranking comes back — but an agent knows enough to call it correctly.

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 all three parameters are fully documented in the schema, including the enum and the note that rank_by is ignored with 'state'. The description's only parameter contribution is restating the 'omit state for national ranking' behavior, so it sits at the baseline for a well-described schema.

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 concrete resource (Section 8 contract counts per state) and enumerates the exact metrics returned: properties, active contracts, assisted units, contracts expiring within two years, and below-90%-FMR HAP contracts. It is clearly a different artifact from expiring_contracts or screen_below_fmr, though it never explicitly names those siblings, so the differentiation is inferential rather than stated.

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 ranking,' which is a parameter-mode hint rather than guidance on when this tool beats expiring_contracts or screen_below_fmr. An agent can infer this is the aggregate/summary entry point, but that inference is left to it.

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 observedexpiring_contracts
    • First observedget_property
    • First observedscreen_below_fmr
    • First observedstate_contract_summary

Related MCP Connectors

Related MCP Servers

  • 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.
    510 npm
    MIT
  • 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
    6 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching US residential foreclosure/REO/short-sale auction listings by state and county, with detailed property facts, sale event dates, venues, and bid/sale prices labeled by status.
    123 npm
    1
    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