Skip to main content
Glama

Discover public filters

get_filters
Read-onlyIdempotent

Discover current coverage and supported exact place/area keys when the destination is ambiguous. Returns public organization names/slugs/counts; organization scopes its coverage. Not needed for searches with city, region or country text. After displaying cards, default to 1–3 short sentences, usually under 60 words unless the traveler requests a detailed comparison: explain a helpful fit or next choice, and include only a material price/availability caveat or a necessary question. Do not repeat result counts, card facts or the home list unless the traveler asks for a textual comparison. Do not narrate tools called or not called, backend mechanics, or your process. Keep operational checks internal; disclose material uncertainty and pricing assumptions plainly when they affect the traveler’s decision.

Input Schema

NameRequiredDescriptionDefault
qNoPublic destination name to look up; searches labels, not property descriptions.
kindNoDestination level. Without a query or scope, lists countries.
pageNo
placeNoExact place key to list its immediate children.
localeNoen
countryNoCountry name or ISO code to scope counts.
organizationNoExact organization slug returned on a property or in get_filters. Restricts results to that organization, across destinations.

Output Schema

NameRequiredDescriptionDefault
pageYes
poolYes
totalYes
placesYes
featuresYes
nextPageYes
pageSizeYes
amenitiesYes
totalPlacesYes
organizationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 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"
      +}
    • addedOutput schema / properties / organizations
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "count": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "slug": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "slug",
      +      "count"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "total",
      -  "places",
      -  "features",
      -  "amenities",
      -  "pool",
      -  "totalPlaces",
      -  "page",
      -  "pageSize",
      -  "nextPage"
      -]New value: +[
      +  "organizations",
      +  "total",
      +  "places",
      +  "features",
      +  "amenities",
      +  "pool",
      +  "totalPlaces",
      +  "page",
      +  "pageSize",
      +  "nextPage"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / places / items / properties / urlPath
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / places / items / required
      Previous value: -[
      -  "key",
      -  "label",
      -  "fullLabel",
      -  "kind",
      -  "countryCode",
      -  "parentKey",
      -  "count"
      -]New value: +[
      +  "key",
      +  "label",
      +  "fullLabel",
      +  "kind",
      +  "countryCode",
      +  "parentKey",
      +  "urlPath",
      +  "count"
      +]
  3. Changed12 schema fields changed
    • addedInput schema / properties / country
      Added value: +{
      +  "default": "",
      +  "description": "Country name or ISO code to scope counts.",
      +  "maxLength": 160,
      +  "type": "string"
      +}
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "Destination level. Without a query or scope, lists countries.",
      +  "enum": [
      +    "country",
      +    "region",
      +    "locality"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / page
      Added value: +{
      +  "default": 1,
      +  "maximum": 1000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / place
      Added value: +{
      +  "default": "",
      +  "description": "Exact place key to list its immediate children.",
      +  "maxLength": 240,
      +  "type": "string"
      +}
    • addedInput schema / properties / q
      Added value: +{
      +  "default": "",
      +  "description": "Public destination name to look up; searches labels, not property descriptions.",
      +  "maxLength": 160,
      +  "type": "string"
      +}
    • addedOutput schema / properties / nextPage
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / page
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / pageSize
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • removedOutput schema / properties / places / items / properties / center
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "lat": {
      -          "type": "number"
      -        },
      -        "lng": {
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "lat",
      -        "lng"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / properties / places / items / required
      Previous value: -[
      -  "key",
      -  "label",
      -  "fullLabel",
      -  "kind",
      -  "countryCode",
      -  "parentKey",
      -  "center",
      -  "count"
      -]New value: +[
      +  "key",
      +  "label",
      +  "fullLabel",
      +  "kind",
      +  "countryCode",
      +  "parentKey",
      +  "count"
      +]
    • addedOutput schema / properties / totalPlaces
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "total",
      -  "places",
      -  "features",
      -  "amenities",
      -  "pool"
      -]New value: +[
      +  "total",
      +  "places",
      +  "features",
      +  "amenities",
      +  "pool",
      +  "totalPlaces",
      +  "page",
      +  "pageSize",
      +  "nextPage"
      +]
  4. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds useful behavior: results are public organizations and the organization parameter scopes coverage across destinations. It says nothing about pagination (page allows up to 1000) or result-size limits, which for a discovery/listing tool is the main remaining behavioral gap.

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

Conciseness2/5

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

Roughly two-thirds of the text is response-style coaching ('default to 1–3 short sentences, usually under 60 words', 'Do not narrate tools called') that describes the agent's prose output rather than this tool's function. That content belongs in a system prompt, not a tool definition, and it buries the operational guidance. The purpose sentence is front-loaded, which salvages some structure.

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?

An output schema exists, so return-value explanation is not required, and the description does establish purpose and the ambiguity condition. What is missing is genuinely tool-relevant: pagination semantics, maximum result behavior, and whether counts reflect the country/organization scoping. The wordcount spent on presentation guidance crowds out that material.

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 71%, so the schema already documents most parameters including q, kind, place, country and organization. The description reinforces a few of these (place/area keys, organization scoping, city/region/country text) but adds no new syntax, defaults, or edge-case meaning beyond the schema. Baseline 3 is appropriate.

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?

The opening sentence states the verb and resource precisely: discover current coverage and supported exact place/area keys, returning public organization names/slugs/counts. It also implicitly separates itself from text-search tools by saying it is 'Not needed for searches with city, region or country text.' The clarity is diluted, however, by a long tail of instructions about how to phrase the agent's reply, which has nothing to do with what this tool does.

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?

It gives an explicit when: 'when the destination is ambiguous,' and an explicit when-not: 'Not needed for searches with city, region or country text.' No sibling tool is named as the alternative, so the agent must infer that search_properties covers the named-city case, but the selection condition is unambiguous.

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