Address-level US property records (sales history, assessed value, owner, physical characteristics) from county and city open-data portals. 100% keyless: no vendor API key, no BYOK.
Two tools with clear, detailed descriptions and well-structured input schemas. property_lookup has comprehensive parameter documentation with helpful guidance (e.g., DC quadrant recommendation). property_coverage is simpler but correctly specified. Both tools are READ_ONLY and stateless, aligning with the server's design philosophy. Naming is clear and verb-based. However, output schemas are not explicitly documented in the source code, only inferred from descriptions. Error handling guidance is implicit (shaped empty results for out-of-coverage) but not formalized in tool definitions. No tool annotations (readOnlyHint, etc.) present.
Enumerates the jurisdictions covered by this server and the fields each jurisdiction publishes. Returns source name, source URL, field availability (sales history, owner, assessment, characteristics), vintage, cadence, and caveats for each covered jurisdiction.
Address-level US property records from county and city open-data portals — keyless public records, no API key required. Returns sales history, assessed value, owner, and physical characteristics. Covers DC, NYC, Philadelphia, Cook County IL, and San Francisco. Returns shaped empty results (covered: false) rather than errors for out-of-coverage addresses.
Output schemas not documented. Tool descriptions mention returned fields (sales_history, assessed_value, owner, characteristics, source_name, source_url, fields_available, note, covered flag) but no formal JSON Schema for responses is visible in source code. LLMs cannot plan downstream operations without knowing response structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are READ_ONLY and idempotent, but this is not declared in the tool definition. Agents cannot infer safety properties without explicit hints.
Error handling not formalized. The description mentions 'shaped empty results (covered: false)' for out-of-coverage addresses, but no error classification (retryable, user-fixable, fatal) or recovery guidance is present in tool definitions. Agents need explicit error handling patterns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
property_lookup parameter 'address' accepts free-form strings with optional city/state/zip. No regex pattern, length constraints, or format specification documented. Guidance is helpful ('e.g. 123 Main St') but examples in descriptions can mislead LLMs into literal reuse.
No pagination or result-limiting parameters. property_coverage returns all jurisdictions; property_lookup returns all matches for ambiguous addresses (e.g., DC quadrant ambiguity returns 'other_matches'). No limit, offset, or page parameters visible. Large result sets could exhaust context.