Skip to main content
Glama

Discover public filters

get_filters
Read-onlyIdempotent

Discover supported destination keys and filter counts. Use kind:geography to browse continents/subregions, their parent keys, available ISO country codes and counts; use exact geographicArea keys or countries codes in search. Use q with a host's name to find its organization slug (up to 20 name matches on the first page; refine q when more may exist), and organization to scope coverage to that exact slug; other calls return no organizations. Defaults to countries. Use q for a destination name, country to scope coverage, place for child destinations, and page until nextPage is null. Unneeded for city/country text searches. 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.

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": "get_filters"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoPublic destination or host organization name to look up; searches labels and organization names, not property descriptions.
kindNoDestination level. geography returns the supported geographic hierarchy, available ISO country codes and counts; use its exact keys in search geographicArea. 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.
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.

Output Schema

NameRequiredDescriptionDefault
pageYes
poolYes
totalYes
placesYes
featuresYes
nextPageYes
pageSizeYes
amenitiesYes
totalPlacesYes
organizationsYes
geographicAreasNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / q / description
      Previous value: -"Public destination name to look up; searches labels, not property descriptions."New value: +"Public destination or host organization name to look up; searches labels and organization names, not property descriptions."
  2. Changed9 schema fields changed
    • 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 / kind / description
      Previous value: -"Destination level. Without a query or scope, lists countries."New value: +"Destination level. geography returns the supported geographic hierarchy, available ISO country codes and counts; use its exact keys in search geographicArea. Without a query or scope, lists countries."
    • changedInput schema / properties / kind / enum
      Previous value: -[
      -  "country",
      -  "region",
      -  "locality"
      -]New value: +[
      +  "geography",
      +  "country",
      +  "region",
      +  "locality"
      +]
    • removedOutput schema / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / amenities / items / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / features / items / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / geographicAreas
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "count": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "countries": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "key": {
      +        "type": "string"
      +      },
      +      "label": {
      +        "type": "string"
      +      },
      +      "labelEn": {
      +        "type": "string"
      +      },
      +      "labelEs": {
      +        "type": "string"
      +      },
      +      "m49": {
      +        "type": "string"
      +      },
      +      "parentKey": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "key",
      +      "m49",
      +      "parentKey",
      +      "label",
      +      "labelEn",
      +      "labelEs",
      +      "countries",
      +      "count"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / organizations / items / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / places / items / additionalProperties
      Removed value: -false
  3. 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"
      +]
  4. 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"
      +]
  5. 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"
      +]
  6. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, non-destructive safety profile, so the description only needs to add context. It does: it discloses the result cap ('up to 20 name matches on the first page; refine q when more may exist'), the pagination stop condition, that defaults return countries, and that 'other calls return no organizations.' This is meaningful behavioral detail beyond the annotations.

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?

The tool behavior is front-loaded well, but the entire back half is response-style guidance (default to 1–3 short sentences, under 60 words, don't narrate tools, disclose pricing assumptions) that has nothing to do with invoking get_filters. It is padding that buries the operational content.

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

Completeness4/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 values need no explanation. For an 8-parameter, zero-required discovery tool with rich annotations, the operational content (defaults, pagination, scoping, the 20-name cap) is complete. The extraneous presentation instructions neither fill a gap nor create one, but they make the description noisier than the tool warrants.

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?

Schema coverage is 75%, so the schema carries most of the parameter documentation. The description still adds value: the 20-match cap on q, the nextPage termination rule, and the interplay between geography keys and search geographicArea. That goes beyond what the enum and field descriptions state.

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 and the kind:geography walkthrough give a specific verb and resource, and the description distinguishes this tool from search_properties by saying it is 'unneeded for city/country text searches.' The purpose is clear, though the trailing response-formatting guidance dilutes the signal.

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

Usage Guidelines4/5

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

The description gives explicit usage rules per parameter: use q with a host name to find the organization slug, use exact geographicArea keys, use place for children, page until nextPage is null. It adds an exclusion ('unneeded for city/country text searches') but does not name the alternative tool explicitly.

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