housing_affordability_check

Pack: housing-intel · Endpoint: https://gateway.pipeworx.io/housing-intel/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/housing_affordability_check for the schema, then POST the same URL with its arguments for the data.

Check housing affordability in a market. Returns mortgage rate, median price, monthly payment, required income, and HUD limits. Optionally specify metro (e.g., “Denver”). The inputs are official statistics on DIFFERENT cadences — a weekly mortgage rate against a quarterly median price — so the monthly payment is an illustrative ratio of published figures, not a live quote. freshness states the span and the age of each input.

Parameters

NameTypeRequiredDescription
_fredKeystringnoFRED API key
_hudKeystringnoHUD API token (optional — needed for income limits)
_blsKeystringnoBLS registration key (optional — raises the shared quota; https://data.bls.gov/registrationEngine/)
metro_namestringnoMetro name for metro-level FHFA HPI (e.g., “Denver”, “Savannah”). Optional.
statestringnoState name or two-letter code (e.g., “California” or “CA”). Resolved for you — pass this rather than state_code. Optional: without it you still get the national mortgage rate, median price and affordability math, just no HUD income limits.
state_codestringnoTwo-letter state code for HUD income limits (e.g., “CO”). state is preferred and accepts either form.

Example call

Arguments

{
  "state_code": "CO"
}

curl

curl -X POST https://gateway.pipeworx.io/housing-intel/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"housing_affordability_check","arguments":{"state_code":"CO"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('housing_affordability_check', {
  "state_code": "CO"
});

More examples

{
  "metro_name": "Denver",
  "state_code": "CO"
}

Response shape

FieldTypeDescription
freshnessobject
mortgage_ratenumberCurrent 30-year mortgage rate (percent)
mortgage_rate_as_ofstring
median_home_pricenumberMedian home price (USD)
median_home_price_as_ofstring
case_shiller_index_as_ofstring
avg_hourly_earnings_as_ofunknown(type varies; observed both null and non-null)
median_home_price_notestring
metro_hpinull | object
case_shiller_indexnumber
avg_hourly_earningsunknownAverage hourly earnings for production/nonsup workers (USD) (type varies; observed both null and non-null)
estimated_monthly_paymentnumberEstimated monthly PITI (20% down, 30yr fixed)
income_needednumber
income_needed_notestring
hud_income_limitsobject
state_resolvedstring
hud_income_limits_notenull
Full JSON Schema
{
  "type": "object",
  "properties": {
    "freshness": {
      "type": "object",
      "properties": {
        "as_of": {
          "type": "string"
        },
        "span_days": {
          "type": "number"
        },
        "oldest_component": {
          "type": "string"
        },
        "oldest_observation_date": {
          "type": "string"
        },
        "oldest_age_days": {
          "type": "number"
        },
        "newest_component": {
          "type": "string"
        },
        "newest_observation_date": {
          "type": "string"
        },
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "component": {
                "type": "string"
              },
              "observation_date": {
                "type": "string"
              },
              "age_days": {
                "type": "number"
              },
              "cadence": {
                "type": "string"
              }
            }
          }
        },
        "statement": {
          "type": "string"
        }
      }
    },
    "mortgage_rate": {
      "type": "number",
      "description": "Current 30-year mortgage rate (percent)"
    },
    "mortgage_rate_as_of": {
      "type": "string"
    },
    "median_home_price": {
      "type": "number",
      "description": "Median home price (USD)"
    },
    "median_home_price_as_of": {
      "type": "string"
    },
    "case_shiller_index_as_of": {
      "type": "string"
    },
    "avg_hourly_earnings_as_of": {
      "description": "(type varies; observed both null and non-null)"
    },
    "median_home_price_note": {
      "type": "string"
    },
    "metro_hpi": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "metro": {
          "type": "string"
        },
        "series": {
          "type": "string"
        },
        "observation_date": {
          "type": "string"
        },
        "cadence": {
          "type": "string"
        },
        "current": {
          "type": "number"
        },
        "trend": {
          "type": "string"
        }
      }
    },
    "case_shiller_index": {
      "type": "number"
    },
    "avg_hourly_earnings": {
      "description": "Average hourly earnings for production/nonsup workers (USD) (type varies; observed both null and non-null)"
    },
    "estimated_monthly_payment": {
      "type": "number",
      "description": "Estimated monthly PITI (20% down, 30yr fixed)"
    },
    "income_needed": {
      "type": "number"
    },
    "income_needed_note": {
      "type": "string"
    },
    "hud_income_limits": {
      "type": "object",
      "properties": {
        "state": {
          "type": "string"
        },
        "year": {
          "type": "string"
        },
        "median_income": {
          "type": "number"
        },
        "very_low_4person": {
          "type": "number"
        },
        "low_4person": {
          "type": "number"
        },
        "extremely_low_4person": {
          "type": "number"
        },
        "note": {
          "type": "string"
        }
      }
    },
    "state_resolved": {
      "type": "string"
    },
    "hud_income_limits_note": {
      "type": "null"
    }
  }
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "housing-intel": {
      "url": "https://gateway.pipeworx.io/housing-intel/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 22, 2026