Skip to main content
Glama

chathome.lu — Luxembourg Real Estate

Vibe Search

search_vibe
Read-onlyIdempotent

Preferred natural-language ('vibe') property search. Pass the user's request as prose and the engine matches on lifestyle, mood, proximity, and soft preferences via embeddings + LLM reasoning. Healthy runs return source-grounded match reasons and a 0-100 request-fit score (not a probability); degraded runs explicitly omit ranking claims. Every sourced result identifies and links the original agency listing and states its latest catalogue re-sighting time. The response's understanding block states what was understood; wishes in understanding.notChecked are not confirmed for any returned home. If the requested place cannot be resolved safely, it returns no listings plus a machine-readable unanswerable reason instead of substituting unrelated homes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
briefNoThe `session.brief` object from the previous search_vibe response, passed back unchanged to continue that search. Without `followUp` it replays the same search without re-reading the request.
limitNoNumber of results to return (max 50, default 20)
queryYesNatural-language description of what the user wants, in their own words — e.g. "quiet 2-bed near Kirchberg with a balcony under €2000" or "bright family house with a garden, short commute to Belval, energy class A". Lifestyle, vibe, proximity, and soft preferences all work here.
intentNoWhether to search rentals or properties for sale (default: "rent")
localeNoResponse locale: en, fr, de, lu (Luxembourgish), pt (default: en; 'lb' is a deprecated alias for 'lu')
followUpNoA change to the previous search or a question about its results, in the user’s own words — e.g. "cheaper", "like #2 but with a garden", "which one has parking?". Send it with the `brief` from the previous response (`session.brief`) and the same `query`. A question leaves the search unchanged and comes back as `followUp.reply`.
includePhotosNoAttach thumbnail photos of the top results as image content blocks (default: true). Set false for a lean text-only response.
shownListingIdsNoIds of the listings you showed the user, in the order shown, so "#2" or "the second one" in `followUp` points at the right home.

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
sessionNo
followUpNo
listingsYes
countKindNo
truncatedNo
nextCursorNo
matchingCountNo
returnedCountNo
understandingNoWhat the engine understood from the request. notChecked lists wishes no returned home is confirmed to have.
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. Changed1 schema field changed
    • addedOutput schema / properties / listings / items / properties / unknown
      Added value: +{
      +  "description": "Why each missingFields entry is unknown. not_in_search_result means get_listing may know it.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "field": {
      +        "type": "string"
      +      },
      +      "reason": {
      +        "enum": [
      +          "not_stated",
      +          "not_proven",
      +          "conflicted",
      +          "not_in_search_result"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "field",
      +      "reason"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed7 schema fields changed
    • addedInput schema / properties / brief
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "The `session.brief` object from the previous search_vibe response, passed back unchanged to continue that search. Without `followUp` it replays the same search without re-reading the request.",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / followUp
      Added value: +{
      +  "description": "A change to the previous search or a question about its results, in the user’s own words — e.g. \"cheaper\", \"like #2 but with a garden\", \"which one has parking?\". Send it with the `brief` from the previous response (`session.brief`) and the same `query`. A question leaves the search unchanged and comes back as `followUp.reply`.",
      +  "maxLength": 800,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / shownListingIds
      Added value: +{
      +  "description": "Ids of the listings you showed the user, in the order shown, so \"#2\" or \"the second one\" in `followUp` points at the right home.",
      +  "items": {
      +    "maxLength": 128,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 10,
      +  "type": "array"
      +}
    • removedOutput schema / properties / coverageNotice
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "reason": {
      -      "const": "outside_luxembourg",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "reason"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / followUp
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "outcome": {
      +      "enum": [
      +        "applied",
      +        "answered"
      +      ],
      +      "type": "string"
      +    },
      +    "reply": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "outcome"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / session
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "brief": {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "brief"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / understanding
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "What the engine understood from the request. notChecked lists wishes no returned home is confirmed to have.",
      +  "properties": {
      +    "checked": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "force": {
      +            "enum": [
      +              "must",
      +              "should",
      +              "nice"
      +            ],
      +            "type": "string"
      +          },
      +          "meaning": {
      +            "type": "string"
      +          },
      +          "needId": {
      +            "type": "string"
      +          },
      +          "operator": {
      +            "type": "string"
      +          },
      +          "unit": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "value": {
      +            "anyOf": [
      +              {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "string"
      +                  }
      +                ]
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "meaning",
      +          "needId",
      +          "operator",
      +          "value",
      +          "unit",
      +          "force"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "commutes": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "destination": {
      +            "type": "string"
      +          },
      +          "force": {
      +            "enum": [
      +              "must",
      +              "should",
      +              "nice"
      +            ],
      +            "type": "string"
      +          },
      +          "maxMinutes": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "mode": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "transit",
      +                  "drive",
      +                  "walk",
      +                  "bike"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "destination",
      +          "mode",
      +          "maxMinutes",
      +          "force"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "excludedPropertyTypes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "notChecked": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "force": {
      +            "enum": [
      +              "must",
      +              "should",
      +              "nice"
      +            ],
      +            "type": "string"
      +          },
      +          "meaning": {
      +            "type": "string"
      +          },
      +          "reason": {
      +            "enum": [
      +              "no_listing_fact",
      +              "fact_not_collected_yet"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "meaning",
      +          "force",
      +          "reason"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "offer": {
      +      "enum": [
      +        "whole",
      +        "room",
      +        "either"
      +      ],
      +      "type": "string"
      +    },
      +    "places": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "country": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "LU",
      +                  "FR",
      +                  "BE",
      +                  "DE"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "force": {
      +            "enum": [
      +              "must",
      +              "should",
      +              "nice"
      +            ],
      +            "type": "string"
      +          },
      +          "kind": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "radiusKm": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "role": {
      +            "enum": [
      +              "live",
      +              "work",
      +              "near",
      +              "avoid"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "role",
      +          "kind",
      +          "country",
      +          "radiusKm",
      +          "force"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "propertyTypes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "transaction": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "buy",
      +            "rent"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "understood": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "understood",
      +    "transaction",
      +    "propertyTypes",
      +    "excludedPropertyTypes",
      +    "offer",
      +    "places",
      +    "commutes",
      +    "checked",
      +    "notChecked"
      +  ],
      +  "type": "object"
      +}
  3. 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"
      +}
  4. 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"
  5. Changed1 schema field changed
    • addedOutput schema / properties / coverageNotice
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "reason": {
      +      "const": "outside_luxembourg",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "reason"
      +  ],
      +  "type": "object"
      +}
  6. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnly/idempotent/non-destructive/openWorld=false), disclosing degraded-run behavior (ranking claims omitted), that the fit score is not a probability, sourcing/re-sighting guarantees, and that unresolved places yield an unanswerable reason rather than substituted homes.

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

Conciseness4/5

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

Front-loaded with the core purpose and dense with useful specifics, though the final sentences about sourcing and unanswerable results make it fairly long. Nearly every clause earns its place, but it could be tightened.

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?

For an 8-parameter tool with nested objects and an output schema, the description covers the operational edge cases an agent needs (degraded runs, unconfirmed wishes, unanswerable reasons, follow-up flow) without redundantly restating return shapes.

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%, so the schema already documents all eight parameters including brief, followUp, and shownListingIds. The description adds no syntax or format detail beyond that, so a baseline 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?

States a specific verb+resource with its distinguishing mechanism: a natural-language 'vibe' search matched via embeddings + LLM reasoning. It is clearly separable from keyword siblings like search_rentals and search_for_sale.

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?

Declares itself the 'preferred natural-language' search and tells the agent to pass the user's request as prose, which is clear usage context. It stops short of naming the sibling tools it should be chosen over, so the when-not/alternative case is left implicit.

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