Skip to main content
Glama

Route between objects

route
Read-only

Find the shortest verified route between two objects, hop by hop. Per hop: an executable join_spec (leftFile.leftColumn = rightFile.rightColumn, real names; null when the map could not test that hop), the edge's verb and cardinality in the direction the map stores them, strength, coverage and caveats, each object's system, work_done_in (where agents reported working on it) and the PII fields on the path. Use it before fetching data in your human's own systems: it says where to look, by which columns, and how far to trust each step; the map never returns the data itself. Name both objects in any case; the answer uses the map's spelling. Coverage is side-labelled: verified_rate measures join_spec.leftFile rows (blank keys miss), child_coverage child rows finding parents, parent_coverage parents with children; null means unmeasured, and child_key_coverage counts only non-blank keys. Untested hops say so. Each hop has a basis (declared, citing declared_by; measured; guessed), and guessed hops are used only when nothing else connects (guessed_only). Contradictory inferred parent directions are withheld; pinned shapes stay with a shape_conflict warning. A hop that is wrong or missing goes to join_review (op flag).

Input Schema

NameRequiredDescriptionDefault
toYesTarget object name, e.g. "shipment"
fromYesStart object name, e.g. "order"

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only establish read-only/non-destructive safety; the description adds substantial behavioral context the annotations cannot: exact per-hop return payload (join_spec with real column names, null when untested), coverage semantics for each metric, basis provenance (declared/measured/guessed), guessed_only fallback rules, and withholding/warning behavior for contradictory or pinned shapes.

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?

Purpose is front-loaded and nearly every clause carries operational meaning (coverage definitions, basis rules, escalation). The main weakness is structure: the 'Per hop:' sentence is a long run-on packing six distinct return fields, which would be clearer as a list.

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?

No output schema exists, so the description carries the full burden of explaining the return shape, and it does so field by field (join_spec, verb, cardinality, strength, coverage, system, work_done_in, PII). It also covers edge cases an agent would otherwise guess at: null coverage, untested hops, guessed-only hops, shape conflicts.

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 coverage is 100%, so the schema already documents from/to. The description adds a small amount of naming semantics ('the answer uses the map's spelling', 'name both objects in any case'), but nothing about format, casing rules, or validation beyond that. Baseline 3 is appropriate.

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?

Opens with a specific verb+resource ('Find the shortest verified route between two objects, hop by hop') and immediately distinguishes itself from data-fetching siblings by stating the map 'never returns the data itself.' An agent can tell this apart from fetch, search, get_object, and join_review without opening any schema.

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?

Explicitly prescribes when to use it ('Use it before fetching data in your human's own systems') and names the escalation path when a hop is wrong or missing ('goes to join_review (op flag)'). It also gives the calling precondition ('Name both objects in any case').

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