Recipe: Housing market brief
This recipe builds a structured housing brief — current 30-year mortgage rate, home price index, inventory, metro employment — using Pipeworx’s compound housing_market_snapshot tool.
Tools used: housing_market_snapshot (primary), optionally attom_market_stats and altos_market_stats for paid drilldowns.
Calls: 1 (compound) for the public-data brief; +2 if you have ATTOM/Altos keys.
Fast path: one call
housing_market_snapshot({ metro_name: "Denver" })
Returns:
{
"metro": "Denver-Aurora-Lakewood, CO",
"mortgage_rate_30y": { "value": 7.12, "as_of": "2026-05-08", "trend_12m": "+0.34" },
"home_price_index": { "value": 318.5, "as_of": "2026-03", "yoy_change_pct": 4.2 },
"case_shiller": { "value": 312.1, "as_of": "2026-03" },
"labor": {
"unemployment_rate": 3.8,
"labor_force": 1554000,
"as_of": "2026-04"
},
"_meta": { "sources": ["FRED", "BLS", "Census"] }
}
That single call wraps FRED MORTGAGE30US, FRED CSUSHPISA, BLS metro employment, and Census housing data.
Manual path
If you want to control which series:
// Mortgage rate
fred_get_series({ series_id: "MORTGAGE30US" })
// Home price index (national)
fred_get_series({ series_id: "CSUSHPISA" })
// Metro employment
bls_get_series({ series_id: "LAUMT080000000000003" }) // Denver MSA unemployment rate
// Housing starts (national)
fred_get_series({ series_id: "HOUST" })
Each call carries _apiKey — anonymous tier supported for FRED via the gateway’s BYO key fallback.
With ATTOM / Altos (paid)
If you have ATTOM and Altos keys, layer them on:
attom_market_stats({ metro: "Denver", _apiKey: "..." })
// → median list price, days on market, price reductions
altos_market_stats({ region: "us-co-denver", _apiKey: "..." })
// → real-time inventory, weekly trend, single-family vs condo
Or use the housing-intel vertical that bundles these:
gateway.pipeworx.io/mcp?vertical=housing
Citation pattern
Denver housing market (May 2026): 30Y mortgage 7.12% via FRED MORTGAGE30US, home prices +4.2% YoY (Case-Shiller), unemployment 3.8%. Inventory remains tight per Altos.
Use the prompt
For a polished brief with prose framing:
prompts/get({
name: "housing_market_brief",
arguments: { metro: "Denver" }
})
Returns a substituted prompt that orchestrates the snapshot tool, layers ATTOM/Altos when available, and concludes with a buyer-vs-seller-vs-balanced verdict.
Caveats
- Metro names need to match Census MSA naming. “Denver” auto-resolves; “DTC” or local nicknames don’t. Use the canonical MSA name when in doubt.
- FRED data lag. MORTGAGE30US updates weekly (Thursdays); home price indexes lag ~2 months. The
_meta.cache.fresh_untilandas_offields tell you exact freshness. - National vs metro indexes. The default
home_price_indexis national. For metro-specific, use ATTOM or pass a metro-CBSA series ID explicitly.