Skip to main content
Glama

methodist_traverse

Multi-hop traversal from a claim over typed relation edges of ONE class. Default walks the epistemic §7 edges transitively (every relation value in the §7 enum — support/extend/qualify/refute/background/shared_evidence/same_as/addresses/causes); relation_class="engineering" walks the dependency graph (depends_on/satisfies). ★ An empty reached carries empty_reason — not_a_claim_id | anchor_not_found | subtype_not_in_class | other_direction_only | class_mismatch | no_edges — because "nothing here" and "you looked in the wrong place" are different findings and used to come back identical. ★ Those are the values a record carries; the graph stores them as ENG_DEPENDS_ON/ENG_SATISFIES edges, which you never write. This sentence used to name the epistemic set by its RECORD values and the engineering set by its EDGE LABELS, so a reader applying the visible pattern produced ENG_depends_on — a third thing, rejected by the validator (which accepts exactly depends_on and satisfies). direction="out" = forward (dependencies / cited); "in" = reverse (impact set — who depends on this). ★ This direction is the TRAVERSAL direction of the read and has NOTHING to do with the direction FIELD on a relation record — different thing, same name. Do not copy in/out into a record. For engineering it also returns cycle_detected (start claim in a dependency cycle). Class label-spaces are disjoint — a §7 walk never crosses into engineering edges and vice versa. ★ A0-3b: every reached node carries is_superseded. The walk goes THROUGH superseded claims deliberately — a superseded claim is a real historical link, and refusing to traverse it would silently drop CURRENT claims lying behind it. There is no latest_only here on purpose: filter the stamped result yourself if you want only current heads. ★ edges — the walked edges themselves, each with the properties it carries (relation_id, relation, direction, is_superseded, link_strength = the verifier's, grounding = the author's, correction) — only the keys present; an edge written before 2026-09-16 carries relation_id alone, so read its record by id for the rest. edge_summary counts how many edges carry link_strength / grounding, so a PSnd over the edge set knows its denominator.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
from_idYes
subtypeNonarrow to one edge subtype, e.g. depends_on / satisfies / support
max_hopsNotransitive depth, default 3, max 6
directionNo'out' = forward (dependencies); 'in' = reverse (impact set). TRAVERSAL direction of this read — NOT the `direction` field of a relation record, which is a different thing with the same name.
relation_classNoedge class to traverse — default epistemic (§7)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so richly: it discloses that empty results carry empty_reason with enumerated values, that engineering traversal returns cycle_detected, that walks deliberately pass through superseded claims, that there is no latest_only filter, and that edge objects only carry keys present (with pre-2026-09-16 edges carrying relation_id alone). It also warns about the validator accepting exactly depends_on and satisfies, and the naming trap with ENG_depends_on.

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

Conciseness3/5

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

The description is information-dense and front-loaded with the core purpose, but it is long and somewhat sprawling, with several parenthetical asides and historical notes (e.g., 'This sentence used to name the epistemic set by its RECORD values...') that add context but hurt readability. Every sentence carries information, but the structure could be tightened.

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?

For a complex multi-hop traversal tool with 6 parameters, no annotations, and no output schema, the description is remarkably complete: it covers edge classes, direction semantics, empty-result reasons, cycle detection, superseded-claim behavior, edge object shape, and edge_summary semantics. An agent has enough to call the tool correctly and interpret results.

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 83%, so the schema already documents most parameters. The description adds meaning beyond the schema by explaining the semantic difference between direction='in'/'out' and the relation record's direction field, clarifying that relation_class values map to distinct edge sets, and detailing what edge_summary counts. It doesn't add much for run_id or subtype, but the schema already covers those.

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?

The description states a specific verb ('traverse') and resource ('claims over typed relation edges of ONE class'), and distinguishes the two edge classes (epistemic §7 vs engineering dependency graph) with explicit edge names. It clearly differentiates from siblings like methodist_find or methodist_search by describing multi-hop traversal over typed relation edges rather than lookup or search.

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?

The description explicitly explains when to use each relation_class (default epistemic §7 vs engineering dependency graph), how direction maps to forward vs reverse traversal, and warns against confusing this direction with the relation record's direction field. It also explains when empty results carry empty_reason and how to interpret them, giving clear context for correct invocation.

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.