Skip to main content
Glama

Your shortlist

open_shortlist
Read-onlyIdempotent

Open the conversation’s shortlist beside the chat. Saved public property IDs are kept in app model context and refreshed before display.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "open_shortlist"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoSearch public property names, locations and approved introduction text.
cityNoSpecific destination locality, not a nearby radius. Resolve ambiguous names before choosing a country; use the area tools for nearby discovery.
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.
guestsNoTotal occupancy, adults plus children. Rentals: minimum sleeping capacity. Boutique hotels: everyone in one room for a one-room quote, priced as adults, with occupancy unconfirmed until that quote succeeds.
localeNoen
regionNoPublished region name. Resolve informal areas such as south of France with get_filters before searching; an invented region label can return no homes.
arrivalNo
countryNoDestination country established by the traveler or unambiguous trip context. Ask before choosing a country for an ambiguous place name.
featureNoCollection key from the filter catalog.
childrenNoHow many of guests are children (under 18). guests stays total occupancy, so it must exceed children; capacity counts everyone. No reader prices child ages yet.
currencyNoPreferred ISO 4217 currency, e.g. USD, EUR or NOK. Rough nightly estimates use approximate conversions (USD by default) when a fresh rate is supported; otherwise retain the host currency. Dated quotes depend on host support: always inspect the returned currency. May be supplied without dates for browsing.
semanticNoRank indexed, eligible homes by text and photo similarity. Does not establish hard facts; no lexical fallback when unavailable.
amenitiesNoComma-separated keys from: air-conditioning, wifi, workspace, parking, pets, kitchen, washer, step-free. Every requested key must be explicitly present. Other details (for example pool heating) belong in semantic preferences or requirements, not invented keys.
childAgesNoEach child's age at check-out, one entry per child (exactly children entries). Retained and disclosed; the host confirms child rates.
countriesNoExplicit union of ISO 3166-1 alpha-2 country/territory codes, e.g. [CR, PA]. A home must match one selected country; combines with geographicArea, country and every other filter using AND. Use available codes from get_filters; never silently substitute a narrower country for an area.
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.
geographicAreaNoExact geographic area key from get_filters(kind:geography), including continents and subregions. Americas includes North/Central/South America and the Caribbean. north-america includes Northern America, Central America and Caribbean; northern-america is the narrower UN M49 subregion. Filters by public ISO country/territory code; unknown locations never match. Combines with all other filters using AND.
accommodationTypeNoFilter by reviewed accommodation type. Hotel results represent one establishment; guest count requires a quote for one suitable room, never total hotel capacity.
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. Changed3 schema fields changed
    • addedInput schema / properties / currency / description
      Added value: +"Preferred ISO 4217 currency, e.g. USD, EUR or NOK. Rough nightly estimates use approximate conversions (USD by default) when a fresh rate is supported; otherwise retain the host currency. Dated quotes depend on host support: always inspect the returned currency. May be supplied without dates for browsing."
    • removedInput schema / properties / currency / enum
      Removed value: -[
      -  "USD",
      -  "EUR",
      -  "GBP",
      -  "CRC",
      -  "MXN",
      -  "COP",
      -  "PEN",
      -  "BRL",
      -  "AUD",
      -  "NZD"
      -]
    • addedInput schema / properties / currency / pattern
      Added value: +"^[A-Z]{3}$"
  2. Changed1 schema field changed
    • changedInput schema / properties / currency / enum
      Previous value: -[
      -  "USD",
      -  "EUR",
      -  "GBP",
      -  "CRC",
      -  "MXN",
      -  "COP",
      -  "PEN",
      -  "BRL",
      -  "AUD"
      -]New value: +[
      +  "USD",
      +  "EUR",
      +  "GBP",
      +  "CRC",
      +  "MXN",
      +  "COP",
      +  "PEN",
      +  "BRL",
      +  "AUD",
      +  "NZD"
      +]
  3. Changed3 schema fields changed
    • addedInput schema / properties / childAges
      Added value: +{
      +  "description": "Each child's age at check-out, one entry per child (exactly children entries). Retained and disclosed; the host confirms child rates.",
      +  "items": {
      +    "maximum": 17,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  "maxItems": 199,
      +  "type": "array"
      +}
    • addedInput schema / properties / children
      Added value: +{
      +  "description": "How many of guests are children (under 18). guests stays total occupancy, so it must exceed children; capacity counts everyone. No reader prices child ages yet.",
      +  "maximum": 199,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / guests / description
      Previous value: -"Rental minimum sleeping capacity; for boutique hotels, actual adults for a one-room quote, with occupancy unconfirmed until that quote succeeds."New value: +"Total occupancy, adults plus children. Rentals: minimum sleeping capacity. Boutique hotels: everyone in one room for a one-room quote, priced as adults, with occupancy unconfirmed until that quote succeeds."
  4. Changed4 schema fields changed
    • changedInput schema / properties / amenities / description
      Previous value: -"Comma-separated amenity keys; every requested amenity must be explicitly present."New value: +"Comma-separated keys from: air-conditioning, wifi, workspace, parking, pets, kitchen, washer, step-free. Every requested key must be explicitly present. Other details (for example pool heating) belong in semantic preferences or requirements, not invented keys."
    • addedInput schema / properties / city / description
      Added value: +"Specific destination locality, not a nearby radius. Resolve ambiguous names before choosing a country; use the area tools for nearby discovery."
    • addedInput schema / properties / country / description
      Added value: +"Destination country established by the traveler or unambiguous trip context. Ask before choosing a country for an ambiguous place name."
    • addedInput schema / properties / region / description
      Added value: +"Published region name. Resolve informal areas such as south of France with get_filters before searching; an invented region label can return no homes."
  5. Changed8 schema fields changed
    • addedInput schema / properties / accommodationType
      Added value: +{
      +  "default": "",
      +  "description": "Filter by reviewed accommodation type. Hotel results represent one establishment; guest count requires a quote for one suitable room, never total hotel capacity.",
      +  "enum": [
      +    "",
      +    "vacation_rental",
      +    "boutique_hotel"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / countries
      Added value: +{
      +  "default": [],
      +  "description": "Explicit union of ISO 3166-1 alpha-2 country/territory codes, e.g. [CR, PA]. A home must match one selected country; combines with geographicArea, country and every other filter using AND. Use available codes from get_filters; never silently substitute a narrower country for an area.",
      +  "items": {
      +    "pattern": "^[A-Z]{2}$",
      +    "type": "string"
      +  },
      +  "maxItems": 249,
      +  "type": "array"
      +}
    • addedInput schema / properties / geographicArea
      Added value: +{
      +  "default": "",
      +  "description": "Exact geographic area key from get_filters(kind:geography), including continents and subregions. Americas includes North/Central/South America and the Caribbean. north-america includes Northern America, Central America and Caribbean; northern-america is the narrower UN M49 subregion. Filters by public ISO country/territory code; unknown locations never match. Combines with all other filters using AND.",
      +  "enum": [
      +    "",
      +    "africa",
      +    "northern-africa",
      +    "sub-saharan-africa",
      +    "eastern-africa",
      +    "middle-africa",
      +    "southern-africa",
      +    "western-africa",
      +    "americas",
      +    "latin-america-and-the-caribbean",
      +    "caribbean",
      +    "central-america",
      +    "south-america",
      +    "northern-america",
      +    "asia",
      +    "central-asia",
      +    "eastern-asia",
      +    "south-eastern-asia",
      +    "southern-asia",
      +    "western-asia",
      +    "europe",
      +    "eastern-europe",
      +    "northern-europe",
      +    "southern-europe",
      +    "western-europe",
      +    "oceania",
      +    "australia-and-new-zealand",
      +    "melanesia",
      +    "micronesia",
      +    "polynesia",
      +    "north-america"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / guests / description
      Previous value: -"Minimum sleeping capacity; required actual party size when requesting quote enrichment."New value: +"Rental minimum sleeping capacity; for boutique hotels, actual adults for a one-room quote, with occupancy unconfirmed until that quote succeeds."
    • 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"
      +}
  6. 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"
      +]
  7. 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."
  8. 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"
      +}
  9. 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"
      +}
  10. 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"
      +}
  11. Added

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful state context — IDs persist in app model context and are refreshed before display — but it does not explain why a read-only 'open' operation carries a full filter/search parameter set, which is the biggest behavioural unknown for an agent.

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?

Two short sentences with the action front-loaded and no filler. 'app model context' is internal jargon that costs a little clarity, but the text is otherwise tight.

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

Completeness2/5

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

For a tool exposing 32 parameters with no output schema, the description is far too thin: it says nothing about what the filters do, what is returned, ordering, pagination (page up to 1000), or how the shortlist interacts with the search parameters. The mismatch between a two-sentence 'open a panel' description and a full search schema is left entirely unexplained.

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 78%, so the schema itself documents most of the 32 parameters in detail. The description adds no parameter meaning at all and leaves unresolved whether supplying filters narrows the existing shortlist or triggers a fresh search — a meaningful gap, but not enough to drop below the schema-backed baseline.

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: open the conversation's shortlist beside the chat, with a note that saved public property IDs are refreshed before display. No sibling tool covers shortlists, so there is nothing to disambiguate against, but the description never acknowledges the 32-parameter search schema attached to it, leaving the actual scope of the call ambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus search_properties, render_properties, or open_explorer, and no statement of prerequisites (e.g. whether a shortlist must already exist). The only implicit cue is 'the conversation's shortlist', which assumes prior saving behaviour that is never described.

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