Housing Intel MCP — Meta-pack that chains FRED, BLS, ATTOM, and HUD APIs into higher-level housing market workflows.
Housing Intel MCP has 5 tools with basic schemas and descriptions, but significant gaps prevent production use. All tools have descriptions (10-60 chars, below the 50-200 char baseline for LLM optimization) and input schemas with typed parameters. However, descriptions are generic and lack actionable context (e.g., 'macro market overview' does not explain WHEN to call this vs. housing_affordability_check). No output schemas are documented, LLMs cannot plan downstream calls or extract structured data. Parameters lack descriptions entirely (metro, bedrooms, income have no guidance on format, range, or valid values). Error handling is minimal, no recovery guidance, no categorization of retryable vs. fatal errors. Tools follow a read-only pattern but lack idempotent/readOnly annotations. No composition guidance (e.g., which tool chains together). Naming is verb-noun compliant but generic (housing_* prefix adds little signal).
affordability metrics (FRED + HUD + BLS)
labor market indicators (BLS)
macro market overview (FRED + BLS)
full property analysis (ATTOM)
rental market analysis (ATTOM + HUD + BLS)
No output schemas documented. LLMs cannot infer what fields to expect, preventing downstream tool chaining and forcing agents to guess at response structure.
Parameter descriptions are missing entirely. 'metro' and 'bedrooms' have no guidance on format, valid values, or constraints. LLMs cannot validate input before calling.
Tool descriptions are too short (10-60 chars vs. 50-200 char baseline) and lack actionable context. 'macro market overview' does not explain WHEN to use this tool or what data it returns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No error handling guidance. API failures (FRED 404, ATTOM 400, BLS timeout) return raw error messages with no recovery hints. LLMs cannot self-correct or retry intelligently.
No tool annotations (readOnlyHint, idempotentHint). All tools are read-only but this is not declared, forcing LLMs to infer safety properties.