Skip to main content
Glama

Endorsement Index: HUD multifamily loans

Section 8 HAP contracts by expiration date

hap_expirations
Read-onlyIdempotent

List project-based Section 8 and related contracts on FHA-insured apartment loans reaching their overall expiration in the next 20 calendar quarters, soonest first, from HUD's contract database: property, contract number, assisted units, expiration, HUD rent-to-FMR ratio and latest renewal option. Filter by state and an expiration cutoff.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "hap_expirations"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
stateNoTwo-letter state code, e.g. TX. Omit for every state.
beforeNoOnly contracts whose overall expiration is before this date, YYYY-MM-DD.
offsetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so safety is covered. The description adds genuinely non-structured behavior: results are sorted soonest first and the lookahead is hard-capped at 20 quarters, which the agent needs to know before deciding whether the answer is complete.

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 front-loaded sentence: verb and resource first, scope second, returned fields third, filtering last. Every clause carries information, and no sentence is padding.

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, listing the returned fields is necessary and done well, and the fixed 20-quarter range is disclosed. The gap is pagination: the default limit of 10 and whether offset can walk past the 20-quarter window are never stated, so an agent may under-retrieve.

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 50%: state and before are documented in the schema, while limit and offset carry only bounds and defaults. The description's 'filter by state and an expiration cutoff' maps to the two documented parameters but adds nothing about the date semantics of the cutoff versus the 20-quarter window, and says nothing about limit/offset paging.

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 opens with a specific verb and resource ('List project-based Section 8 and related contracts on FHA-insured apartment loans') and adds a precise scope ('reaching their overall expiration in the next 20 calendar quarters'). It also enumerates the returned fields (property, contract number, assisted units, expiration, rent-to-FMR ratio, latest renewal option), so no sibling in the set can be confused with it.

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?

Closes with 'Filter by state and an expiration cutoff,' which tells the agent how to narrow results, and the 20-quarter horizon frames the intended use case. It stops short of naming when not to use it or pointing to an alternative, but no sibling overlaps with expiration-based contract lookup, so the routing risk is low.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources