MCP server for accessing Idealista real estate API with property search, location lookup, and detailed property information
Server has 5 tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_*, get_*). Descriptions are present but brief (40-80 chars, below the 194-char baseline). All parameters have types and descriptions. However, output schemas are not documented in the source code, and error handling guidance is absent. No tool annotations (readOnlyHint, destructiveHint) despite all tools being read-only. Parameter descriptions lack format constraints and dependency hints.
Get full details for a property listing by its ad ID. Use get_ad_details_by_url when you have a shareable property URL instead.
Get full details for a property listing from its shareable URL, e.g. https://www.idealista.com/inmueble/111033504/
Get statistics for a property listing including views, contact mails, favorites, and shares
Search Idealista locations by name prefix to obtain a locationId for property searches
Search for properties on Idealista with filters for location, property type, operation, price range, and other criteria
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Tool descriptions are 40-80 characters, below the 194-char baseline. Descriptions lack WHEN to use, prerequisites, and dependency hints (e.g., 'Call search_locations first to obtain location_id').
No tool annotations despite all tools being read-only. Missing readOnlyHint in tool definitions prevents agents from understanding safety properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Parameter descriptions lack format constraints and validation rules. E.g., 'prefix' in search_locations has no length limits; 'page' and 'items_per_page' lack min/max bounds.
No error handling guidance in tool descriptions. LLMs cannot determine recovery steps if a call fails (e.g., invalid location_id, API rate limit).