Skip to main content
Glama

get_related_experiences

Read-onlyIdempotent

Use this when a widget or client holds a selected product_id and needs related products to pair with it, do after it, find nearby, or find similar alternatives. Returns cached graph and semantic related products for trio-style widgets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoResponse shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.json
contextNoRelationship type: pair, after, nearby, or similar.pair
languageNoBCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.
product_idYesStable product_id or slug for the source experience.
max_resultsNoNumber of related products to return. Default 6, max 10.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalNo
detailNo
contextNo
messageNo
relatedNo
source_idNo
error_typeNo
schema_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "context": {
      +      "type": "string"
      +    },
      +    "detail": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "error_type": {
      +      "type": "string"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "related": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "booking_url": {
      +            "type": "string"
      +          },
      +          "edge_strength": {
      +            "type": "number"
      +          },
      +          "edge_type": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "price": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "product_id": {
      +            "type": "string"
      +          },
      +          "slug": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "schema_version": {
      +      "type": "string"
      +    },
      +    "source_id": {
      +      "type": "string"
      +    },
      +    "total": {
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed7 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / context / description
      Previous value: -"Relationship type: pair (co-booked or thematically linked), after (something to do after), nearby (spatial proximity), similar (same category)"New value: +"Relationship type: pair, after, nearby, or similar."
    • addedInput schema / properties / format
      Added value: +{
      +  "default": "json",
      +  "description": "Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces.",
      +  "enum": [
      +    "json",
      +    "text"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / language
      Added value: +{
      +  "description": "BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted.",
      +  "type": "string"
      +}
    • addedInput schema / properties / max_results / description
      Added value: +"Number of related products to return. Default 6, max 10."
    • changedInput schema / properties / product_id / description
      Previous value: -"Product slug of the source experience"New value: +"Stable product_id or slug for the source experience."
  3. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds meaningful context beyond those: results come from a cached graph and semantic relationships, implying they are not computed live and may not reflect real-time changes. This helps set expectations about freshness and result provenance.

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 tight sentences with no wasted words. The usage condition is front-loaded, and the return characteristics are stated in the second sentence. 'Trio-style widgets' is slightly niche but not repetitive or padded.

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 description fully covers the core invocation scenario and return style, while the output schema and parameter documentation handle the remaining details like max_results, format, and language. The main gap is that it doesn't clarify how this relates to the similarly named find_nearby_experiences, but the tool is otherwise complete enough to use correctly.

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 100%, so the baseline is 3, but the description adds value by translating the context enum values into natural-language scenarios: 'pair with it, do after it, find nearby, or find similar alternatives.' This gives an agent a clearer mental model of what each context option means before opening the schema.

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 description clearly identifies the resource (related experiences for a selected product_id) and the four relationship types: pair, after, nearby, and similar. It also states what is returned (cached graph and semantic related products). It does not explicitly contrast with overlapping siblings like find_nearby_experiences, but the 'trio-style widgets' framing gives some differentiation.

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 explicitly states when to use the tool: when a widget or client holds a selected product_id and needs related products in one of four relationship modes. It does not provide negative guidance or name alternatives directly, but the trigger condition is clear enough for an agent to route correctly.

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.