Skip to main content
Glama

Destination guides by name

destination_guide
Read-onlyIdempotent

Read a named destination's travel guides: weather, getting here, transport, entry requirements, safety and more. Pass topic (from destination_overview guide_topics) to read one subject; page with cursor.

Input Schema

NameRequiredDescriptionDefault
limitNoEntries per page; omit for the server's short default.
queryNoText to match in guide title/body.
topicNoGuide topic; omit for all.
cursorNoNumber of items to skip; pass `next_cursor` from the previous page.
destinationYesDestination name or slug, e.g. 'Los Cabos'; list_cities names them.

Output Schema

NameRequiredDescriptionDefault
itemNo
itemsNo
reasonNo
sampleNo
sourceNo
statusYes
paginationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed34 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / cursor
      Added value: +{
      +  "default": 0,
      +  "description": "Number of items to skip; pass `next_cursor` from the previous page.",
      +  "maximum": 10000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • changedInput schema / properties / destination / description
      Previous value: -"Destination name or slug; call search_destinations to discover one."New value: +"Destination name or slug, e.g. 'Los Cabos'; list_cities names them."
    • addedInput schema / properties / destination / maxLength
      Added value: +256
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": null,
      +  "description": "Entries per page; omit for the server's short default.",
      +  "maximum": 50,
      +  "minimum": 1,
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • removedInput schema / properties / query / anyOf
      Removed value: -[
      -  {
      -    "maxLength": 256,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / query / maxLength
      Added value: +256
    • addedInput schema / properties / query / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / item / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / item / default
      Removed value: -null
    • removedOutput schema / properties / item / title
      Removed value: -"Item"
    • addedOutput schema / properties / item / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / properties / items / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / items / default
      Removed value: -null
    • removedOutput schema / properties / items / title
      Removed value: -"Items"
    • addedOutput schema / properties / items / type
      Added value: +[
      +  "array",
      +  "null"
      +]
    • removedOutput schema / properties / pagination / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "The page a paginated read actually served (FR-13, INV-8).\n\n``next_cursor`` is ``None`` both at the end of the results and when the next\ncursor would exceed ``max_public_cursor`` — in either case there is no\nfurther page a caller can legally request.",
      -    "properties": {
      -      "cursor": {
      -        "title": "Cursor",
      -        "type": "integer"
      -      },
      -      "limit": {
      -        "title": "Limit",
      -        "type": "integer"
      -      },
      -      "next_cursor": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "title": "Next Cursor"
      -      },
      -      "total": {
      -        "title": "Total",
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "limit",
      -      "cursor",
      -      "total"
      -    ],
      -    "title": "Pagination",
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / pagination / default
      Removed value: -null
    • addedOutput schema / properties / pagination / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / properties / reason / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / reason / default
      Removed value: -null
    • removedOutput schema / properties / reason / title
      Removed value: -"Reason"
    • addedOutput schema / properties / reason / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / sample / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / sample / default
      Removed value: -null
    • removedOutput schema / properties / sample / title
      Removed value: -"Sample"
    • addedOutput schema / properties / sample / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / properties / source / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / source / description
      Removed value: -"FR-13: which approved revision an answer was read from, and how fresh.\n\n``source`` is ``approved-content-revision:<id>`` for every read that answers\nfrom one venue, and the literal ``directory`` for the two cross-venue reads,\nwhich have no single revision to cite."
    • removedOutput schema / properties / source / properties
      Removed value: -{
      -  "approved_at": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "title": "Approved At"
      -  },
      -  "content_version": {
      -    "title": "Content Version",
      -    "type": "integer"
      -  },
      -  "powered_by": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "title": "Powered By"
      -  },
      -  "source": {
      -    "title": "Source",
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / source / required
      Removed value: -[
      -  "content_version",
      -  "source"
      -]
    • removedOutput schema / properties / source / title
      Removed value: -"SourceReference"
    • removedOutput schema / properties / status / title
      Removed value: -"Status"
    • removedOutput schema / title
      Removed value: -"PublicResponse"
  2. Changed2 schema fields changed
    • changedInput schema / properties / query / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 256,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / sample
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Sample"
      +}
  3. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety/idempotency profile is fully structured. The description adds useful interaction context (topic narrowing, cursor pagination), but does not disclose rate limits, auth requirements, or result-size behavior beyond what annotations and schema cover.

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 dense sentences, front-loaded with what the tool returns, then the optional topic filter and paging mechanics. No redundancy or filler; every clause earns its place.

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?

The tool has an output schema, so return-value explanation is not required. The description covers purpose, the topic relationship to destination_overview, and pagination with cursor/next_cursor. Given five parameters and multiple sibling destination tools, it is nearly complete, though it could briefly note the default-limit behavior for an agent orchestrating pagination.

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 100%, so every parameter is already documented in the schema (topic enum, query, cursor, limit, destination). The description mentions topic and cursor usage but adds no format details beyond the schema; baseline 3 is appropriate when the schema carries the parameter semantics.

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?

States a specific verb (Read) and resource (a named destination's travel guides), then enumerates the concrete content areas (weather, getting here, transport, entry requirements, safety). This distinguishes it from destination_overview, destination_events, destination_faq, and the other destination_* siblings by specifying it returns guide content, not events/FX/offers.

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?

Gives clear usage: pass topic (sourced from destination_overview guide_topics) to read one subject; page with cursor. It explains the relationship to destination_overview for topic discovery and how to paginate, but it does not state when NOT to use it or name a specific alternative for bulk guide listing.

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