Skip to main content
Glama

Get the capability tree

get_tree
Read-only

The capability tree: what services do, as branches, leaves and leaves' children, each with a one-line description and the number of services in it (zeros included). Read it once (follow its guide), choose the most specific node that matches your task, then call search_services with branch set to its id, or up to three ids separated by commas when more than one fits. format "text" returns the same tree as plain text, one line per node: the cheapest to read. Keep it and pass since_revision later to get only what changed. IDs are permanent: an id that moved (listed under moved) still works as a branch filter.

Input Schema

NameRequiredDescriptionDefault
formatNojson (default) or text: one line per node, about half the size of json.
since_revisionNoThe revision of a copy you hold: returns only the node changes since then (or unchanged: true) instead of the tree. Service counts are refreshed every hour and are not changes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / since_revision / description
      Previous value: -"The revision of a copy you hold: returns only the node changes since then (or unchanged: true) instead of the tree. Service counts are refreshed every five minutes and are not changes."New value: +"The revision of a copy you hold: returns only the node changes since then (or unchanged: true) instead of the tree. Service counts are refreshed every hour and are not changes."
  2. Changed2 schema fields changed
    • addedInput schema / properties / format
      Added value: +{
      +  "description": "json (default) or text: one line per node, about half the size of json.",
      +  "enum": [
      +    "json",
      +    "text"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / since_revision
      Added value: +{
      +  "description": "The revision of a copy you hold: returns only the node changes since then (or unchanged: true) instead of the tree. Service counts are refreshed every five minutes and are not changes.",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  3. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds real behavioral context the annotations cannot — counts include zeros, counts refresh hourly and don't count as changes, and an id that moved still works as a branch filter. These are non-obvious traits that prevent misreading the output. It stops short of describing error behavior or what unchanged:true looks like in practice.

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?

Front-loaded with the resource and the follow-up action, and nearly every clause carries an actionable fact. It is dense to the point of being run-on, packing format, revision retention, and ID permanence into one long paragraph, which slightly hurts scannability.

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?

With no output schema, the description takes on the burden and discharges it by describing the returned tree's shape (branches, leaves, one-line descriptions, counts) and the text-format line-per-node layout. An agent has everything needed to call it and to interpret what comes back.

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 baseline is 3; the description earns above that by explaining the tradeoff for format="text" ('about half the size', 'cheapest to read') and the retention pattern for since_revision ('keep it and pass later to get only what changed'). It still omits some nuance, e.g. what since_revision=0 means or the shape of the change payload.

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 concrete resource (the capability tree) and its structure — branches, leaves, leaves' children, one-line descriptions, service counts. It also distinguishes itself from the sibling search_services by defining the downstream relationship, so an agent knows this is the navigation layer rather than the search itself.

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?

Gives an explicit procedure: read once, follow the guide, pick the most specific matching node, then call search_services with branch set to its id (or up to three comma-separated ids). It also advises retaining the tree for later since_revision calls, which is a genuine when-to-use instruction rather than a restatement.

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