Skip to main content
Glama

Explore homes

open_explorer

Open the published vacation-home browser in ChatGPT. Search by destination, guests and amenities, inspect photos and save homes to the conversation shortlist. For a trip's mood, experience or visual preferences, pass the traveler's description as semantic, preserving their meaning and language. Keep destination, guests, bedrooms, pool and amenities in their structured filters. q is a literal name/location/text filter: do not duplicate the semantic description into q. Copy experiential preferences verbatim from semantic into semanticPreferences; copy essential experiential requirements with their qualifiers into semanticRequirements, without inventing needs. Keep those requirements when refining the search. Use reassessPropertyIds with semantic to reassess known homes against the current needs. Read the returned semantic.matches, assessments, coverage and limitations: similarity alone does not prove a fact, and source-based claims remain attributed. Do not infer availability from matching. If semantic search is unavailable, explain the failure; do not silently substitute a keyword search or relax requirements. Use English or neutral Latin American Spanish (tú).

Input Schema

NameRequiredDescriptionDefault
qNoSearch public property names, locations and approved introduction text.
cityNo
pageNo
poolNo
placeNoPlace key from the live filter catalog.
boundsNoMap viewport as south,west,north,east in degrees; keeps homes whose public area center is inside it. West greater than east crosses the antimeridian.
guestsNoMinimum sleeping capacity; required actual party size when requesting quote enrichment.
localeNoen
regionNo
arrivalNo
countryNo
featureNoCollection key from the filter catalog.
currencyNo
semanticNoRank indexed, eligible homes by text and photo similarity. Does not establish hard facts; no lexical fallback when unavailable.
amenitiesNoComma-separated amenity keys; every requested amenity must be explicitly present.
departureNo
quoteModeNoOptional price/availability enrichment. exact uses supplied dates and guests; estimate requires estimateWindowStart, estimateWindowEnd, estimateNights and guests for a clearly labeled sample within supplied flexible bounds. Search does not wait for every host or filter unknown homes out.
relatedToNoPublished property ID. Find other homes from its organization, same locality first, then region/country and other locations. Excludes the source property. Additional filters still combine with AND.
minBedroomsNo
minBathroomsNo
organizationNoExact organization slug returned on a property or in get_filters. Restricts results to that organization, across destinations.
estimateNightsNoSample-stay nights, required. Only with quoteMode:estimate.
estimateWindowEndNoLatest sample departure (YYYY-MM-DD), paired with estimateWindowStart. Window must fit estimateNights (required), at most 150 days.
estimateWindowStartNoEarliest sample arrival (YYYY-MM-DD), paired with estimateWindowEnd. Only with quoteMode:estimate. Preserve the traveler's flexible month or date range.
reassessPropertyIdsNoUp to four previously discussed public property IDs to reassess against this semantic request alongside fresh matches. Use when refining or comparing earlier suggestions. This reserves comparison slots only: current factual filters, indexed source ownership and every essential requirement still apply. It does not keep an old recommendation or establish fit. Omit for a new search without earlier candidates to reassess.
semanticPreferencesNoIndividual experiential preferences, each copied verbatim from semantic. Interpret the traveler in context: separate requested preferences without adding needs. Keep related words together when they describe one room, view or relationship. These are questions to assess, not property facts; omit for factual-only searches.
semanticRequirementsNoEssential trip requirements, each copied verbatim from semantic with all relationship and provenance qualifiers. Every one must have source-backed support before a home is returned. Preserve these from the conversation; ordinary preferences belong in semanticPreferences. Omit when no essential experiential requirements were stated. Interpret semanticRequirements as conditions the accommodation or its setting must satisfy. Preserve essential support for the traveler's primary activity and access needs, including when expressed indirectly. Preserve the traveler's complete context in semantic. When the traveler states an explicit offering condition together with their own plans, circumstances or reasons, copy the complete offering condition as the essential; do not create an additional standalone proof obligation for the traveler's plan or circumstance. Keep any context necessary to understand the condition, its scope and relationships. Do not broaden a specific access requirement into proof of every aspect of the trip, and do not drop an actual offering condition because it is motivated by a traveler's circumstances. When a circumstance leaves the required accommodation or access condition ambiguous, ask one short clarifying question before searching; do not submit the circumstance itself as a property-proof requirement. If the offering condition itself is ambiguous, clarify it in the real conversation instead of inventing a stricter condition.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / reassessPropertyIds
      Added value: +{
      +  "description": "Up to four previously discussed public property IDs to reassess against this semantic request alongside fresh matches. Use when refining or comparing earlier suggestions. This reserves comparison slots only: current factual filters, indexed source ownership and every essential requirement still apply. It does not keep an old recommendation or establish fit. Omit for a new search without earlier candidates to reassess.",
      +  "items": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 4,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / semantic
      Added value: +{
      +  "description": "Rank indexed, eligible homes by text and photo similarity. Does not establish hard facts; no lexical fallback when unavailable.",
      +  "maxLength": 4000,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / semanticPreferences
      Added value: +{
      +  "description": "Individual experiential preferences, each copied verbatim from semantic. Interpret the traveler in context: separate requested preferences without adding needs. Keep related words together when they describe one room, view or relationship. These are questions to assess, not property facts; omit for factual-only searches.",
      +  "items": {
      +    "maxLength": 350,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 8,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / semanticRequirements
      Added value: +{
      +  "description": "Essential trip requirements, each copied verbatim from semantic with all relationship and provenance qualifiers. Every one must have source-backed support before a home is returned. Preserve these from the conversation; ordinary preferences belong in semanticPreferences. Omit when no essential experiential requirements were stated. Interpret semanticRequirements as conditions the accommodation or its setting must satisfy. Preserve essential support for the traveler's primary activity and access needs, including when expressed indirectly. Preserve the traveler's complete context in semantic. When the traveler states an explicit offering condition together with their own plans, circumstances or reasons, copy the complete offering condition as the essential; do not create an additional standalone proof obligation for the traveler's plan or circumstance. Keep any context necessary to understand the condition, its scope and relationships. Do not broaden a specific access requirement into proof of every aspect of the trip, and do not drop an actual offering condition because it is motivated by a traveler's circumstances. When a circumstance leaves the required accommodation or access condition ambiguous, ask one short clarifying question before searching; do not submit the circumstance itself as a property-proof requirement. If the offering condition itself is ambiguous, clarify it in the real conversation instead of inventing a stricter condition.",
      +  "items": {
      +    "maxLength": 350,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 8,
      +  "minItems": 1,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / currency / enum
      Previous value: -[
      -  "USD",
      -  "EUR",
      -  "GBP",
      -  "CRC",
      -  "MXN",
      -  "COP",
      -  "PEN",
      -  "BRL"
      -]New value: +[
      +  "USD",
      +  "EUR",
      +  "GBP",
      +  "CRC",
      +  "MXN",
      +  "COP",
      +  "PEN",
      +  "BRL",
      +  "AUD"
      +]
  3. Changed5 schema fields changed
    • changedInput schema / properties / estimateNights / description
      Previous value: -"Sample-stay nights, default 7. Only with quoteMode:estimate."New value: +"Sample-stay nights, required. Only with quoteMode:estimate."
    • addedInput schema / properties / estimateWindowEnd
      Added value: +{
      +  "description": "Latest sample departure (YYYY-MM-DD), paired with estimateWindowStart. Window must fit estimateNights (required), at most 150 days.",
      +  "format": "date",
      +  "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])))$",
      +  "type": "string"
      +}
    • addedInput schema / properties / estimateWindowStart
      Added value: +{
      +  "description": "Earliest sample arrival (YYYY-MM-DD), paired with estimateWindowEnd. Only with quoteMode:estimate. Preserve the traveler's flexible month or date range.",
      +  "format": "date",
      +  "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])))$",
      +  "type": "string"
      +}
    • changedInput schema / properties / guests / description
      Previous value: -"Minimum sleeping capacity."New value: +"Minimum sleeping capacity; required actual party size when requesting quote enrichment."
    • changedInput schema / properties / quoteMode / description
      Previous value: -"Optional price/availability enrichment. exact uses supplied dates and guests; estimate uses a clearly labeled future sample stay. Search does not wait for every host or filter unknown homes out."New value: +"Optional price/availability enrichment. exact uses supplied dates and guests; estimate requires estimateWindowStart, estimateWindowEnd, estimateNights and guests for a clearly labeled sample within supplied flexible bounds. Search does not wait for every host or filter unknown homes out."
  4. Changed5 schema fields changed
    • addedInput schema / properties / arrival
      Added value: +{
      +  "format": "date",
      +  "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])))$",
      +  "type": "string"
      +}
    • addedInput schema / properties / currency
      Added value: +{
      +  "enum": [
      +    "USD",
      +    "EUR",
      +    "GBP",
      +    "CRC",
      +    "MXN",
      +    "COP",
      +    "PEN",
      +    "BRL"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / departure
      Added value: +{
      +  "format": "date",
      +  "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])))$",
      +  "type": "string"
      +}
    • addedInput schema / properties / estimateNights
      Added value: +{
      +  "description": "Sample-stay nights, default 7. Only with quoteMode:estimate.",
      +  "maximum": 30,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / quoteMode
      Added value: +{
      +  "description": "Optional price/availability enrichment. exact uses supplied dates and guests; estimate uses a clearly labeled future sample stay. Search does not wait for every host or filter unknown homes out.",
      +  "enum": [
      +    "exact",
      +    "estimate"
      +  ],
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • addedInput schema / properties / organization
      Added value: +{
      +  "default": "",
      +  "description": "Exact organization slug returned on a property or in get_filters. Restricts results to that organization, across destinations.",
      +  "maxLength": 160,
      +  "type": "string"
      +}
    • addedInput schema / properties / relatedTo
      Added value: +{
      +  "default": "",
      +  "description": "Published property ID. Find other homes from its organization, same locality first, then region/country and other locations. Excludes the source property. Additional filters still combine with AND.",
      +  "maxLength": 160,
      +  "type": "string"
      +}
  6. Changed1 schema field changed
    • addedInput schema / properties / bounds
      Added value: +{
      +  "default": "",
      +  "description": "Map viewport as south,west,north,east in degrees; keeps homes whose public area center is inside it. West greater than east crosses the antimeridian.",
      +  "maxLength": 80,
      +  "pattern": "^$|^-?\\d{1,3}(\\.\\d{1,6})?(,-?\\d{1,3}(\\.\\d{1,6})?){3}$",
      +  "type": "string"
      +}
  7. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and openWorldHint=true; the description adds key behavioral context: semantic similarity does not establish facts, availability must not be inferred, and semantic failure must be surfaced rather than silently falling back. It also clarifies that saved homes go to the conversation shortlist, which is useful side-effect context.

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?

The description is lengthy but largely front-loaded and content-dense for a complex 27-parameter tool. Some sentences are convoluted and there is minor overlap with schema descriptions, but little is pure filler.

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

Completeness3/5

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

Covers semantic behavior and failure handling well, and mentions returned semantic.matches, assessments, coverage, and limitations. However, with no output schema it does not explain the tool's overall return shape (UI vs data) or several parameters, leaving some gaps for a tool this complex.

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

Parameters4/5

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

With 59% schema coverage and 27 parameters, the description adds meaningful rules for the most ambiguous inputs—semantic, q, semanticPreferences, semanticRequirements, reassessPropertyIds, and structured filters. It does not cover every parameter, but it compensates for the most semantically complex ones.

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

Purpose4/5

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

States a specific verb and resource: opens the published vacation-home browser in ChatGPT, then enumerates search, inspect, and save capabilities. It does not name or contrast with sibling tools like search_properties or render_properties, so it falls short of full sibling differentiation.

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

Usage Guidelines3/5

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

Provides detailed guidance on how to use semantic vs q and when to reassess known homes, but never states when to choose open_explorer over sibling search or render tools. Usage for the tool itself is implied by 'Open the browser' rather than explicitly scoped.

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