Skip to main content
Glama

klook_attractions_destinations

Read-only

Return the attractions vertical's destination discovery data: hot countries with their top activity cards, hot cities (city- or country-scoped) and the cities near a given city with Klook's distance in kilometres. Pass city_id to scope hot and nearby cities, or country_id to scope only hot cities; omit both for the hot-country list alone. Use a returned country_id or city_id with klook_attractions_search, and klook_destinations for the tours-and-experiences destination tree.

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

Input Schema

NameRequiredDescriptionDefault
city_idNoOptional Klook city id. Scopes the hot-city and nearby-city lists.
country_idNoOptional Klook country id. Scopes the hot-city list.

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds behavior the annotations do not: the composite shape of the response and the fact that nearby-city distances are expressed in kilometres. It stops short of mentioning rate limits or ordering of results, which keeps it at 4 rather than 5.

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

Conciseness5/5

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

Two sentences, both front-loaded with the decision-relevant information: the payload inventory first, then the argument semantics and sibling routing. No restatement of the title and no filler.

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 a zero-required-parameter discovery tool with an output schema, this covers what an agent needs: what comes back, how the two optional ids change the result, the default when both are omitted, and where to go next. Return-value detail is correctly left to the output schema.

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 description coverage is 100%, so the baseline is 3. The description earns an extra point by spelling out the asymmetric effect of each id and, critically, the combined case the schema never states: omitting both yields only the hot-country list.

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?

The description opens with a specific verb and resource ('Return the attractions vertical's destination discovery data') and enumerates the three payload components: hot countries with top activity cards, hot cities, and nearby cities with distance in kilometres. It explicitly contrasts itself with klook_destinations (the tours-and-experiences tree), so an agent can distinguish it from the nearest sibling without opening a schema.

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

Usage Guidelines5/5

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

It gives explicit conditional routing: pass city_id to scope hot and nearby cities, country_id to scope only hot cities, omit both for the hot-country list alone. It also states the downstream hand-off ('Use a returned country_id or city_id with klook_attractions_search') and names the alternative tool for a different destination need.

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.