Skip to main content
Glama

spec_nav_trace_flow

Trace service flows statically: connect HTTP endpoints, RPC calls, and events to handlers or consumers with evidence and confidence. Use when a change touches an endpoint, RPC call, or event.

Instructions

Trace a flow across services, statically from source: HTTP client → route → handler, RPC call → handler, event/topic → consumers, plus direct calls inside each service. Use when a change touches an endpoint, RPC call or event. Start from a function (id or file+name), an endpoint or a topic; no start lists every link found. Each step has evidence, a confidence and a status (resolved, partial, ambiguous, unresolved, unmatched); partial, ambiguous and unresolved links are leads to check, and stacks without an adapter are reported as not traced.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoStart function id.
fileNoStart function's file (with `name`).
lineNo
nameNo
limitNoSteps per page (default 30).
topicNoEvent, topic or RPC pattern: "order.created", "{ cmd: 'sum' }".
cursorNoThe nextCursor from the previous page. Repeat the other arguments unchanged.
formatNo"text" (default, compact) or "json" (structured).
endpointNo"GET /api/orders/:id" or "/orders/42".
maxDepthNoDefault 6, max 20.
directionNoDefault downstream.
followCallsNoFollow direct calls inside a service (default true).
includePartialNoFollow partial links (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.1/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 does well: it discloses per-step evidence, confidence, the five status values, that partial/ambiguous/unresolved links are leads rather than facts, and that stacks lacking an adapter are reported as not traced. That is genuine behavioral disclosure of result semantics and limitations, not a restatement of the name.

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?

Three sentences, front-loaded with what is traced and when to use it, then start points, then result semantics. The parenthetical status list is compact and every clause carries information; nothing is redundant.

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?

For a 13-parameter, no-output-schema tool the description supplies what an agent needs to choose it and pick a start point, and it partially characterizes the return shape (steps, evidence, confidence, status). Minor gaps remain on pagination/limit behavior and how unmatched versus unresolved links differ in practice.

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 already 85%, so baseline is 3; the description adds real value above that by explaining the start-point combinations (id, file+name, endpoint, topic) and the important default behavior that omitting a start lists every link found. It also reinforces direction/depth defaults, though those are already in 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?

A concrete verb ('trace a flow across services, statically from source') plus an explicit enumeration of the link types it walks: HTTP client→route→handler, RPC→handler, topic→consumers, and intra-service calls. The static-analysis constraint is spelled out. It does not, however, name or differentiate itself from sibling tools like spec_nav_callers or spec_nav_map, so it stops short of a 5.

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?

'Use when a change touches an endpoint, RPC call or event' gives a clear triggering condition, and the sentence about valid start points states the entry contexts. There is no explicit when-not guidance or named alternative (e.g. 'for pure caller chains use spec_nav_callers'), so it is clear context without exclusions.

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