HUD Housing Data
Server Details
Fair Market Rents, income limits, public housing, vouchers, and homeless counts
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 5 of 5 tools scored.
Each tool targets a distinct HUD dataset: fair market rents, homeless counts, housing vouchers, income limits, and public housing inventory. There is no overlap in purpose or data returned, so an agent can clearly select the right tool.
All tool names follow the consistent verb_noun pattern of get_<data_type>. This predictable naming makes it easy to infer functionality and extend to additional datasets.
With 5 tools, the server is well-scoped for a data access API focused on HUD housing datasets. The count is in the ideal range and each tool earns its place by covering a major data category.
The server covers five key HUD housing datasets, but omits some common ones like multifamily housing properties or Section 8 contract data. Minor gaps exist but the core housing data lifecycle (rents, limits, vouchers, public housing, homelessness) is well represented.
Available Tools
5 toolsget_fair_market_rentsAInspect
Get HUD Fair Market Rent (FMR) values for 0-4 bedroom units.
Returns FMR data used to determine Housing Choice Voucher payment
standards and other HUD program parameters. Requires HUD User API
token; returns registration guidance if token is not configured.
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'WA').
county_fips: Optional 5-digit county FIPS code (e.g. '06037' for LA County).
If omitted, returns statewide FMR data.
year: FMR fiscal year (default 2024).
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| state | Yes | ||
| county_fips | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states the tool requires a HUD User API token and 'returns registration guidance if token is not configured', which is a valuable behavioral trait. It also explains the county_fips default behavior (statewide data when omitted). However, it does not cover error handling, rate limits, or response details, warranting a 4 rather than a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action, then provides a brief usage context, token requirement, and a structured Args section. It is appropriately sized for a three-parameter tool, though the opening two sentences overlap slightly and could be condensed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, output schema exists), the description covers purpose, token auth, parameter semantics, and scoping behavior. The output schema handles return-value documentation, so the description is sufficiently complete for selection and invocation. The only minor gap is explicit comparison to sibling tools, which is covered under usage guidelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, so the description must fully compensate. It thoroughly explains each parameter: state as a two-letter abbreviation with examples, county_fips as an optional 5-digit code with LA County example and statewide fallback, and year as fiscal year with default 2024. This adds substantial meaning beyond the raw property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get HUD Fair Market Rent (FMR) values for 0-4 bedroom units', a specific verb and resource that clearly distinguishes it from sibling tools like get_income_limits or get_housing_vouchers. It also explains the programmatic purpose (Housing Choice Voucher payment standards), reinforcing the tool's identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool via 'used to determine Housing Choice Voucher payment standards and other HUD program parameters'. It also discloses the API token prerequisite and fallback behavior, but it does not explicitly name alternatives or exclusion criteria, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_homeless_dataAInspect
Get Point-in-Time (PIT) homeless count data by Continuum of Care region.
Returns homeless population counts from the annual PIT count, broken
down by sheltered/unsheltered status and sub-populations. Data sourced
from HUD Exchange via ArcGIS open data. No API key required.
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'WA').
At least one of state or coc_code must be provided.
coc_code: Optional Continuum of Care code (e.g. 'WA-500', 'CA-600').
year: Optional year to filter results.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| state | No | ||
| coc_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses the data source (HUD Exchange via ArcGIS), the fact that no API key is required, and the annual PIT count nature. While it does not mention rate limits or pagination, the read-only nature is clear from the verb 'Get' and the context, making the description genuinely informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately detailed but well-organized, with a clear summary followed by an Args section. Each sentence adds value (source, auth, parameter details), though it could be tightened by moving some examples to the schema if it had better coverage. Still, it is efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description need not explain return values. It covers what data is returned, source, authentication, and parameter constraints. It does not specify default behavior for omitted year or interaction when both state and coc_code are given, but these are minor gaps for a data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description fully compensates by explaining every parameter: state with example format, coc_code with example, and year as optional. It also adds critical constraint information, stating that at least one of state or coc_code must be provided, which is absent from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets Point-in-Time homeless count data, with a specific resource (PIT counts by CoC region) and explicit breakdowns (sheltered/unsheltered, sub-populations). It is unambiguous and distinct from sibling tools that deal with rents, vouchers, income limits, and public housing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining homeless count data but does not explicitly contrast with sibling tools or state when to avoid using it. It provides no direct alternatives or exclusions, relying on the distinct resource name to signal appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_housing_vouchersAInspect
Get Housing Choice Voucher (Section 8) program data by Public Housing Agency.
Returns information about voucher programs administered by PHAs in
the specified state, including total vouchers, utilization rates,
and spending. Queries HUD ArcGIS open data (no auth required).
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'NY').
limit: Maximum number of records to return (default 50, max 500).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the data source (HUD ArcGIS open data), the auth requirement (none), and the specific return content (total vouchers, utilization rates, spending), conveying a safe read-only retrieval. It doesn't mention rate limits or error behavior, but for a GET-style tool with an output schema, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with a clear one-liner, followed by a brief parameter list. Every sentence earns its place with no filler or repetition of schema details beyond what is helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are covered elsewhere. The description adds the essential data source, auth status, filtering dimension (state), and limit behavior, making it complete for a simple two-parameter retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates. It explains 'state' as a two-letter US abbreviation with examples, and 'limit' as the maximum number of records with default and max values, adding a max constraint (500) not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Get Housing Choice Voucher (Section 8) program data by Public Housing Agency.' It clearly differentiates from sibling tools by naming the exact HUD program and the type of data returned (vouchers, utilization, spending).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the tool's scope obvious ('by Public Housing Agency', 'in the specified state') and notes 'no auth required,' which is useful for when it can be invoked. It doesn't explicitly state 'use this vs. sibling X,' but sibling names are distinct enough that the intended use is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_income_limitsAInspect
Get HUD income limits (very low, low, median) by family size.
Returns income limit data used to determine eligibility for HUD
assisted housing programs. Requires HUD User API token.
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'NY').
county_fips: Optional 5-digit county FIPS code (e.g. '06037').
If omitted, returns data for all areas in the state.
year: Income limit fiscal year (default 2024).
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| state | Yes | ||
| county_fips | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the API token requirement and the fallback behavior for missing county_fips, but does not mention read-only nature, error handling, rate limits, or response format details. While 'Get' implies a safe read, more behavioral specificity would be ideal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a purpose sentence followed by an Args block. The first two sentences have slight redundancy ('Get HUD income limits' and 'Returns income limit data'), but overall it is concise and front-loaded. Every sentence adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values are covered. The description covers the essential parameters, auth, and fallback behavior. It does not clarify what 'by family size' means in relation to the absence of a family_size parameter, which is a minor gap, but overall it is complete enough for a straightforward data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the Args section explains all three parameters: state with examples, county_fips with optionality and behavior, and year with default. This adds meaning beyond the bare schema, making it easy to invoke correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get HUD income limits (very low, low, median) by family size', which identifies the specific resource and action. This distinguishes it from sibling tools like get_fair_market_rents or get_homeless_data by naming HUD income limits directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides context about the data being used for HUD eligibility, requires an API token, and explains the behavior when county_fips is omitted (returns all areas in the state). It does not explicitly mention alternative tools or exclusions, but the usage context is clear enough for a data lookup tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_public_housingAInspect
Get public housing buildings and developments in a state.
Queries HUD's open ArcGIS data for public housing inventory.
No API key required. Returns building names, addresses, unit counts,
and managing Public Housing Agency information.
Args:
state: Two-letter US state abbreviation (e.g. 'WA', 'TX').
city: Optional city name to filter results.
limit: Maximum number of records to return (default 50, max 500).
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| limit | No | ||
| state | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description carries the burden well. It discloses that the tool 'Queries HUD's open ArcGIS data' (read-only behavior), 'No API key required' (auth requirements), and lists the return content. This goes beyond the schema and gives the agent confidence that nothing is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient and front-loaded. The first sentence gives the primary purpose. Each subsequent sentence adds essential detail (data source, auth, return content, parameter explanations) without any redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description covers all necessary aspects: data source, auth requirements, parameter semantics, and return content. Nothing critical is missing for an agent to correctly select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully. It explains state as a two-letter abbreviation with examples, city as an optional filter, and limit with default and max values. This adds critical meaning that the bare schema properties lack.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Get public housing buildings and developments in a state,' which is a specific verb+resource with scope. It further elaborates that it queries HUD's open ArcGIS data and returns building names, addresses, unit counts, and PHA info, clearly distinguishing it from siblings like get_fair_market_rents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when public housing inventory data is needed for a state, with optional city and limit filters. It does not explicitly name alternatives or exclusions, but the focus on public housing buildings and developments makes its use case unambiguous among the housing-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for HUD housing data, enabling Fair Market Rent lookups, Section 8 income limits, and ZIP-to-county crosswalk mapping for affordable housing assessments.6MIT
- Alicense-qualityDmaintenanceLive 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
- Alicense-qualityDmaintenanceSubmarket-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.1MIT
- AlicenseAqualityBmaintenanceMCP server for NYC housing data, enabling tenant organizers and legal-aid intakes to pull building violations, complaints, ownership, litigation, and evictions. It wraps six city datasets from NYC Open Data.6MIT