Enables Claude, ChatGPT, and other AI agents to look up comparable property sales across 11 global markets via the Model Context Protocol.
Three tools with complete input schemas and descriptions. Naming follows verb_noun pattern (search_, get_, list_). Descriptions are adequate (100-200 chars) but lack actionable context for LLM selection. Parameters are typed and mostly constrained via enums. Critical gap: no output schemas documented, LLMs cannot plan downstream calls or extract structured data. Error handling and recovery guidance absent. Market auto-detection is clever but undocumented in tool descriptions.
Get price statistics for a property market area. Returns median, average, min, max prices with breakdown by property type. Covers all 11 markets.
List all 11 available property markets with transaction counts and examples.
Search for comparable property sales near a location. Covers 11 markets: NYC, Miami, Philadelphia, Connecticut, Chicago, Dubai, Singapore, London/UK, Paris/France, Ireland, Taiwan. Returns recent sales with price, date, address, property type, and area. Also returns statistics (median, average, min, max).
No output schemas documented. LLMs cannot infer response structure, field names, or types. Prevents planning multi-step calls and forces trial-and-error parsing.
Tool descriptions lack WHEN/WHY context. 'Search for comparable property sales' does not explain when to use search_property_comps vs get_area_stats. LLMs cannot disambiguate.
Market auto-detection logic (detect_market function) is powerful but invisible to LLM. Description says 'optional, auto-detected' but does not explain the heuristics or edge cases (e.g., 5-digit codes ambiguous between US ZIP and French postal).
No error handling or recovery guidance. If location is invalid or market not found, no guidance on what to do next. LLM cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Parameter 'property_type' description is vague and market-specific. 'Filter by type. UK: D/S/T/F. NYC: Condo/1-Family. SG: 3 ROOM/4 ROOM/5 ROOM. Optional.', no enum constraint, no validation, no guidance on what happens if wrong type passed.