Skip to main content
Glama

chathome.lu — Luxembourg Real Estate

Show Listing Cards

render_listing_cards
Read-onlyIdempotent

Render one to eight exact results from a prior property search as an interactive MCP Apps photo carousel. Call a search tool first, then copy its listing IDs and any returned match scores/reasons without alteration. The tool re-reads canonical public listing facts before display.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
headingNoShort user-facing heading grounded in the search request
listingsYesOne to eight exact listing IDs from search_vibe, search_rentals, or search_for_sale, in display order

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
totalYesExact number of listing objects returned in this response; not the number of matches in the market.
trustNo
sourceNo
hasMoreNo
rankingNo
listingsYes
countKindNo
truncatedNo
nextCursorNo
matchingCountNo
returnedCountNo
coverageNoticeNo
searchExhaustiveNo
matchingCountKindNo
excludedUnprovenCountNoUpstream rows omitted because public facts could not prove every requested hard filter.
marketMatchingUpperBoundNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed25 schema fields changed
    • addedOutput schema / properties / excludedUnprovenCount
      Added value: +{
      +  "description": "Upstream rows omitted because public facts could not prove every requested hard filter.",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / hasMore
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / listings / items / properties / amenities
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "balcony": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "elevator": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "furnished": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "garden": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "parking": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "petsAllowed": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "stepFreeAccess": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "wheelchairAccessible": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "furnished",
      +    "elevator",
      +    "parking",
      +    "balcony",
      +    "garden",
      +    "petsAllowed",
      +    "stepFreeAccess",
      +    "wheelchairAccessible"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / availability
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "availableFrom": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "moveInState": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "offerStatus": {
      +      "enum": [
      +        "available",
      +        "under_offer",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "offerStatus",
      +    "availableFrom",
      +    "moveInState"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / duplicates
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "confirmedOtherSources": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "confirmedSourceCount": {
      +      "exclusiveMinimum": 0,
      +      "maximum": 9007199254740991,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "confirmedOtherSources",
      +    "confirmedSourceCount"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / fieldProvenance
      Added value: +{
      +  "additionalProperties": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "method": {
      +        "enum": [
      +          "source_structured",
      +          "source_text",
      +          "official_dataset",
      +          "calculation",
      +          "manual_review",
      +          "model_extraction",
      +          "model_only",
      +          "unknown"
      +        ],
      +        "type": "string"
      +      },
      +      "observedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "publisher": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "sourceUrl": {
      +        "anyOf": [
      +          {
      +            "format": "uri",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "status": {
      +        "enum": [
      +          "confirmed",
      +          "estimated",
      +          "thin_sample",
      +          "stale",
      +          "context_only",
      +          "conflicted",
      +          "not_collected",
      +          "source_unavailable",
      +          "suppressed"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "publisher",
      +      "method",
      +      "sourceUrl",
      +      "observedAt"
      +    ],
      +    "type": "object"
      +  },
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / history
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "daysListed": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "firstObservedAt": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "firstObservedBasis": {
      +      "const": "source_listing_date_or_chathome_ingest",
      +      "type": "string"
      +    },
      +    "lastChangedAt": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "priceDropTotalEur": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "firstObservedAt",
      +    "firstObservedBasis",
      +    "daysListed",
      +    "priceDropTotalEur",
      +    "lastChangedAt"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / location
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "address": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "city": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "confidence": {
      +      "enum": [
      +        "verified",
      +        "unverified",
      +        "contradicted",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    },
      +    "district": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "postalCode": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "precision": {
      +      "enum": [
      +        "exact_address",
      +        "street",
      +        "district",
      +        "commune_only",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "city",
      +    "district",
      +    "address",
      +    "postalCode",
      +    "precision",
      +    "confidence"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / match
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "allRequiredConstraintsSatisfied": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "reasons": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 3,
      +      "type": "array"
      +    },
      +    "requiredConstraints": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "actual": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "boolean"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "matched",
      +              "not_matched",
      +              "not_verified",
      +              "not_applied"
      +            ],
      +            "type": "string"
      +          },
      +          "target": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "boolean"
      +              },
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "status",
      +          "target",
      +          "actual"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "resultKind": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "strict_match",
      +            "partial_match",
      +            "relaxed_alternative"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "allRequiredConstraintsSatisfied",
      +    "resultKind",
      +    "requiredConstraints",
      +    "reasons"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / missingFields
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / listings / items / properties / officialScreening
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / property
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "airConditioning": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "colocation": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "completionYear": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "condition": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "constructionYear": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "floor": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "hasFloorplan": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "heatingEnergy": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "heatingType": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "landAreaSqm": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "privateRoomAreaSqm": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "rentByOwner": {
      +      "anyOf": [
      +        {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "rooms": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "totalFloors": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "rooms",
      +    "floor",
      +    "totalFloors",
      +    "constructionYear",
      +    "completionYear",
      +    "landAreaSqm",
      +    "privateRoomAreaSqm",
      +    "condition",
      +    "heatingType",
      +    "heatingEnergy",
      +    "airConditioning",
      +    "hasFloorplan",
      +    "rentByOwner",
      +    "colocation"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / listings / items / properties / propertyChecks
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / rent
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "agencyFee": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "agencyFeeBasis": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "tenant_share",
      +                "total_commission",
      +                "unknown"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "baseMonthly": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "chargesIncluded": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "chargesMonthly": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "deposit": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "depositExceedsMaximum": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "depositMaximum": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "estimatedMonthlyTotal": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "estimatedMonthlyTotalIsLowerBound": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "estimatedUtilitiesMonthly": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "exactUpfrontCost": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "firstChargeAdvance": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "heatingMayBeDoubleCounted": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "indicativeInsuranceMonthly": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "knownMonthlyLowerBound": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "knownUpfrontCost": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "mandatoryMoveInFeeTotal": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "mandatoryMoveInFees": {
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {},
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "mandatoryRecurringFeeTotal": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "mandatoryRecurringFees": {
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {},
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "monthlyTotal": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "monthlyTotalStatus": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "known",
      +                "unknown_charges",
      +                "conflicting_charges",
      +                "invalid_price",
      +                "unknown_mandatory_recurring_fees"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "reportedDeposit": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "unknownComponents": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "upfrontCostIsExact": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "upfrontCostIsLowerBound": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "baseMonthly",
      +        "chargesMonthly",
      +        "chargesIncluded",
      +        "monthlyTotal",
      +        "monthlyTotalStatus",
      +        "knownMonthlyLowerBound",
      +        "estimatedMonthlyTotal",
      +        "estimatedMonthlyTotalIsLowerBound",
      +        "estimatedUtilitiesMonthly",
      +        "indicativeInsuranceMonthly",
      +        "heatingMayBeDoubleCounted",
      +        "firstChargeAdvance",
      +        "reportedDeposit",
      +        "deposit",
      +        "depositMaximum",
      +        "depositExceedsMaximum",
      +        "agencyFee",
      +        "agencyFeeBasis",
      +        "mandatoryRecurringFees",
      +        "mandatoryRecurringFeeTotal",
      +        "mandatoryMoveInFees",
      +        "mandatoryMoveInFeeTotal",
      +        "knownUpfrontCost",
      +        "exactUpfrontCost",
      +        "upfrontCostIsLowerBound",
      +        "upfrontCostIsExact",
      +        "unknownComponents"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / schemaVersion
      Added value: +{
      +  "const": "agent-listing.v2",
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / properties / source
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "agencyConfirmedAt": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "agencyListingId": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "agencyName": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "lastSeenAt": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "listingUrl": {
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        "status": {
      +          "enum": [
      +            "active",
      +            "under_offer",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        "statusBasis": {
      +          "enum": [
      +            "source_catalog_seen",
      +            "listing_record_active"
      +          ],
      +          "type": "string"
      +        },
      +        "type": {
      +          "const": "original_agency_listing",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "type",
      +        "agencyName",
      +        "listingUrl",
      +        "agencyListingId",
      +        "lastSeenAt",
      +        "status",
      +        "statusBasis",
      +        "agencyConfirmedAt"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / transport
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / valueContext
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "fairPrice": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "marketContext": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "priceIntegrity": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "priceIntegrity",
      +    "fairPrice",
      +    "marketContext"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / listings / items / required
      Previous value: -[
      -  "id",
      -  "url",
      -  "title",
      -  "status",
      -  "price",
      -  "currency",
      -  "listingType",
      -  "propertyType",
      -  "city",
      -  "district",
      -  "country",
      -  "beds",
      -  "baths",
      -  "areaSqm",
      -  "energyClass",
      -  "imageUrl",
      -  "agencyName",
      -  "latitude",
      -  "longitude"
      -]New value: +[
      +  "schemaVersion",
      +  "id",
      +  "url",
      +  "title",
      +  "status",
      +  "price",
      +  "currency",
      +  "listingType",
      +  "propertyType",
      +  "city",
      +  "district",
      +  "country",
      +  "beds",
      +  "baths",
      +  "areaSqm",
      +  "energyClass",
      +  "imageUrl",
      +  "agencyName",
      +  "source",
      +  "rent",
      +  "availability",
      +  "property",
      +  "location",
      +  "history",
      +  "duplicates",
      +  "amenities",
      +  "fieldProvenance",
      +  "officialScreening",
      +  "propertyChecks",
      +  "transport",
      +  "valueContext",
      +  "missingFields",
      +  "match",
      +  "latitude",
      +  "longitude"
      +]
    • addedOutput schema / properties / marketMatchingUpperBound
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / matchingCount
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / matchingCountKind
      Added value: +{
      +  "enum": [
      +    "exact",
      +    "lower_bound",
      +    "unavailable"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / nextCursor
      Added value: +{
      +  "type": "null"
      +}
    • addedOutput schema / properties / returnedCount
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / searchExhaustive
      Added value: +{
      +  "type": "boolean"
      +}
  2. Changed34 schema fields changed
    • addedOutput schema / properties / countKind
      Added value: +{
      +  "const": "returned",
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / properties / agencyName
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / areaSqm
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / baths
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / beds
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / charges
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / city
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / country
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "LU",
      +        "FR",
      +        "BE",
      +        "DE"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / currency
      Added value: +{
      +  "const": "EUR",
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / properties / description
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / district
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / energyClass
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / features
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / listings / items / properties / hasSourceCheckedFacts
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / listings / items / properties / id
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / properties / imageUrl
      Added value: +{
      +  "anyOf": [
      +    {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / latitude
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / listingType
      Added value: +{
      +  "enum": [
      +    "rent",
      +    "sale"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / properties / longitude
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / matchReasons
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 3,
      +  "type": "array"
      +}
    • addedOutput schema / properties / listings / items / properties / photoUrls
      Added value: +{
      +  "items": {
      +    "format": "uri",
      +    "type": "string"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
    • addedOutput schema / properties / listings / items / properties / price
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / pricePerSqm
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / propertyType
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / listings / items / properties / score
      Added value: +{
      +  "maximum": 100,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedOutput schema / properties / listings / items / properties / status
      Added value: +{
      +  "const": "active",
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / properties / title
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / properties / url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / listings / items / required
      Added value: +[
      +  "id",
      +  "url",
      +  "title",
      +  "status",
      +  "price",
      +  "currency",
      +  "listingType",
      +  "propertyType",
      +  "city",
      +  "district",
      +  "country",
      +  "beds",
      +  "baths",
      +  "areaSqm",
      +  "energyClass",
      +  "imageUrl",
      +  "agencyName",
      +  "latitude",
      +  "longitude"
      +]
    • addedOutput schema / properties / ranking
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "planFingerprint": {
      +      "type": "string"
      +    },
      +    "probability": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "scoreKind": {
      +      "const": "request_fit",
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "available",
      +        "degraded"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "scoreKind",
      +    "probability"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / total / description
      Added value: +"Exact number of listing objects returned in this response; not the number of matches in the market."
    • addedOutput schema / properties / total / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / total / minimum
      Added value: +0
    • changedOutput schema / properties / total / type
      Previous value: -"number"New value: +"integer"
  3. Changed1 schema field changed
    • addedOutput schema / properties / coverageNotice
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "reason": {
      +      "const": "outside_luxembourg",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "reason"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context beyond these annotations by stating the tool 're-reads canonical public listing facts before display,' which informs the agent that the output is grounded in canonical data rather than blindly echoing inputs. It also emphasizes copying score/reason values 'without alteration,' a useful behavioral constraint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, with the core purpose and constraints front-loaded in the first sentence and usage guidance in the second. Every clause contributes essential information: count limit, source dependency, exact-copy instruction, and canonical re-read behavior. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the input schema is exhaustive, there is an output schema present, and annotations cover safety and idempotency, the description adds the missing workflow context: it must follow a search, the data must be copied exactly, and canonical facts are re-read. This is sufficient for an agent to invoke the tool correctly in sequence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents each parameter precisely, including exactness of IDs, scores/reasons returned by search_vibe, and display order. The description reinforces these semantics ('copy... without alteration') but does not add meaningful new information beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Render'), a precise resource ('exact results from a prior property search'), and a concrete presentation format ('interactive MCP Apps photo carousel'). It clearly differentiates this display tool from the search siblings by requiring a prior search, so an agent cannot mistake it for a search operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit sequencing guidance: 'Call a search tool first, then copy its listing IDs and any returned match scores/reasons without alteration.' This states when to use the tool and its precondition, but it stops short of naming specific sibling tools or explicitly saying 'do not use for searching' as an exclusion, so it lacks the full when-not/alternatives detail.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources