Skip to main content
Glama

tree_find

Locate any node in one call by matching names, IDs, payload fields, links or kinds, then scope results to a branch or current state. Search the tree instead of walking it.

Instructions

Search the Quern instead of walking it — when the user names an element, locate it in one call. query is a case-insensitive substring over a node's prose — id, name, kind, meta, every string in its payload and the sources its params cite — so the external identifier, definition or field name a user arrives with resolves to its node without knowing the path; kind/has_param match exactly; links_to finds every node referencing a path; payload matches payload FIELDS by value — {"state": "Opened"}, or {"state": ["Opened", "Proposed"]} for any of several — which is how you scope by state without a substring also matching the word in a description; under scopes to a branch; current_only drops nodes another node supersedes (the "what do we hold now?" query). Returns paths + a one-line summary each; then tree_get the one you meant. Purely structural.

Input Schema

NameRequiredDescriptionDefault
kindNo
limitNo
queryNo
underNo
payloadNo
links_toNo
has_paramNo
current_onlyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and it does disclose return shape ('paths + a one-line summary each') and that matching is 'purely structural'. It implies a non-mutating read but never states side effects, result caps beyond the schema's `limit` default, or what happens with broad matches — modest gaps for an unannotated tool.

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 core purpose, then a dense semicolon-delimited parameter tour with no filler sentences. It is a single heavy block, but every clause maps to a distinct parameter behavior rather than restating the schema.

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?

Output schema exists, yet the description still gives enough return context to chain into tree_get. For an eight-parameter search tool with no annotations, the filter semantics and the follow-up step are both covered; an agent can call this correctly from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate — and it explains seven of the eight parameters with matching semantics (case-insensitive substring scope, exact match for `kind`/`has_param`, reference search for `links_to`, field-value matching plus multi-value arrays for `payload`, branch scoping for `under`, supersession for `current_only`). Only `limit` is left to the schema.

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 and resource ('Search the Quern ... locate it in one call') and frames it against the alternative behavior of walking the tree. The closing 'Returns paths + a one-line summary each; then tree_get the one you meant' cleanly separates it from the tree_get sibling.

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?

Usage conditions are spelled out per filter: `query` for when a user arrives with an identifier or field name, `payload` for state scoping 'without a substring also matching the word in a description', `current_only` for 'what do we hold now?'. It also routes to tree_get when the full node is needed rather than a match summary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.