Skip to main content
Glama

Get route tree

get_route_tree
Read-onlyIdempotent

Return the hierarchical route tree for a product version on a platform, from routes.json (all discovered router/sitemap/link paths) with a fallback to captured page URLs.

Input Schema

NameRequiredDescriptionDefault
productYesProduct key, for example finance-ozon-ru
versionYesExact capture version returned by list_versions. Pin the same version across related calls; do not use latest as an alias.
platformYesPlatform type ID from list_platforms.options.platforms[].id (backend CatalogPlatform.view). Use backend IDs verbatim; desktop/mobile are current examples. Environment is selected separately.
environmentNoEnvironment ID from the selected backend platform type in list_platforms.options.platforms[].environments[].id (backend implementation). Omit only when the version has one captured environment. Use captured pairs from list_platforms/list_versions for actual availability.

Output Schema

NameRequiredDescriptionDefault
resultYesDiscovered route hierarchy

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / version / description
      Added value: +"Exact capture version returned by list_versions. Pin the same version across related calls; do not use latest as an alias."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "route": {
      +      "additionalProperties": true,
      +      "description": "Hierarchical discovered route",
      +      "properties": {
      +        "children": {
      +          "description": "Result entries",
      +          "items": {
      +            "$ref": "#/$defs/route"
      +          },
      +          "type": "array"
      +        },
      +        "page": {
      +          "anyOf": [
      +            {
      +              "description": "Text value",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "path": {
      +          "description": "path",
      +          "type": "string"
      +        },
      +        "segment": {
      +          "description": "segment",
      +          "type": "string"
      +        },
      +        "url": {
      +          "anyOf": [
      +            {
      +              "description": "Text value",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "description": "Structured result. Existing text or image content remains available in content.",
      +  "properties": {
      +    "result": {
      +      "additionalProperties": true,
      +      "description": "Discovered route hierarchy",
      +      "properties": {
      +        "environment": {
      +          "description": "environment",
      +          "type": "string"
      +        },
      +        "pageCount": {
      +          "description": "Count or zero-based index",
      +          "type": "integer"
      +        },
      +        "platform": {
      +          "description": "platform",
      +          "type": "string"
      +        },
      +        "product": {
      +          "description": "product",
      +          "type": "string"
      +        },
      +        "routeCount": {
      +          "description": "Count or zero-based index",
      +          "type": "integer"
      +        },
      +        "routes": {
      +          "description": "Result entries",
      +          "items": {
      +            "$ref": "#/$defs/route"
      +          },
      +          "type": "array"
      +        },
      +        "version": {
      +          "description": "version",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "product",
      +        "platform",
      +        "environment",
      +        "version",
      +        "routeCount",
      +        "pageCount",
      +        "routes"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuine value by disclosing the data source and the fallback to captured page URLs when routes.json is unavailable, which the annotations do not convey.

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

Conciseness4/5

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

A single front-loaded sentence carries purpose, source, and fallback behavior with no filler. It is dense but every clause earns its place; slightly more scannable phrasing could push it higher.

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?

With an output schema present, return values need not be explained, and annotations cover the safety profile. The description supplies the missing behavioral context (source file, fallback), leaving only sibling-routing guidance as a gap.

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%, with each parameter richly documented and cross-referenced to list_versions and list_platforms. The description restates product/version/platform at a high level but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb (Return) and resource (hierarchical route tree) scoped to a product version on a platform, and clarifies the data origin (routes.json with discovered router/sitemap/link paths). This clearly distinguishes it from flat listing siblings like list_pages, but it never names an alternative tool, so differentiation is implicit rather than explicit.

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

Usage Guidelines3/5

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

The description implies when the tree is sourced (routes.json, falling back to captured page URLs) but never states when to prefer this over siblings such as get_page_outline or list_pages, nor any prerequisites. Usage is inferable from the resource description rather than spelled out.

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