MCP server for property comparable sales across 16 global markets
Three tools with complete input schemas and descriptions, but quality is uneven. search_property_comps and get_area_stats have detailed, actionable descriptions (150+ chars) with well-typed parameters including enums and defaults. list_markets is minimal (8 words, no parameters). All tools lack output schema documentation, LLMs cannot predict response structure or plan downstream calls. No error handling guidance. Parameter descriptions are adequate but lack format constraints (e.g., 'radius in miles (UK/US) or km (others)' is ambiguous). No tool annotations (readOnlyHint, idempotentHint). Naming is clear and verb-forward (search_, get_, list_), following baseline conventions.
Get market statistics for an area (median price, price range, transaction count, price per sqft).
List all 16 available markets with their codes, names, currencies, and transaction counts.
Search for comparable property sales near a location. Covers 16 markets: UK, France, Singapore, NYC, Chicago, Dubai, Miami, Philadelphia, Connecticut, Ireland, Taiwan, Washington DC, Seattle, Phoenix, Denver, Pittsburgh. Returns recent sales with price, date, address, property type, and area statistics.
No output schema documentation. LLMs cannot predict response structure (fields, types, nesting) for search_property_comps, get_area_stats, or list_markets. This forces agents to guess at response shape and breaks downstream tool chaining.
list_markets description is 8 words and lacks context. Does not explain when to call it, what structure it reveals, or how it enables discovery. Baseline for tool descriptions is 34 - 392 chars; this is 67 chars but reads as a stub.
Parameter descriptions lack format constraints. 'radius in miles (UK/US) or km (others)' is ambiguous, which markets use which unit? Should be explicit: 'radius_miles for UK/US markets (10001 NYC), radius_km for others (75001 Paris)'. Baseline: 72 chars per param description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No error handling guidance. If location is invalid, market auto-detection fails, or API returns 404, LLMs have no recovery path. Descriptions should include: 'If location not found, try search with a nearby postcode or area name.'
No tool annotations (readOnlyHint, idempotentHint). All three tools are read-only and idempotent, but this is not declared. Agents cannot infer safety without explicit hints.