Skip to main content
Glama

Пути связей разделов

find_relation_paths
Read-onlyIdempotent

Find relation paths between two sections to see which fields and intermediate sections link them before writing a JOIN; optionally restrict allowed intermediate sections.

Instructions

Когда вызывать: нужно понять, через какие поля и разделы связаны два раздела (например, people и products), прежде чем писать JOIN. Возвращает до 10 кратчайших маршрутов (до 5 шагов): каждый шаг — from_section, field, to_section, direction (out/in); данные сущностей не возвращаются, JOIN не выполняется. via_sections ограничивает промежуточные разделы. Дальше: find_jsonata_examples (группа relations) или seaf_jsonata_query.

Input Schema

NameRequiredDescriptionDefault
end_sectionYesКонечный раздел, например seaf.company.ba.products
via_sectionsNoРазрешённые промежуточные разделы (опционально)
start_sectionYesНачальный раздел, например seaf.company.people

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantive behavior: at most 10 shortest routes, up to 5 steps, per-step shape (from_section, field, to_section, direction out/in), and explicit non-behavior (no entity data returned, no JOIN executed). This is exactly the disclosure an agent needs beyond the annotations.

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?

Front-loaded with the trigger condition, then return shape, then constraints, then next steps. Every clause carries information: no filler, no repetition of the title.

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 shoulders the burden of describing the return value and does so precisely (route list size, step cap, per-step fields, what is not returned). Nothing an agent needs to call it correctly or to interpret the result is missing.

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 description coverage is 100% and already defines start_section, end_section and via_sections with examples. The description's mention that via_sections limits intermediate sections only restates the schema wording, so it adds little meaning beyond structured fields – the baseline 3 applies.

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 and resource: determine which fields and sections connect two sections (e.g. people and products) before writing a JOIN. It clearly delineates the tool from raw relation listing and from the query-execution siblings (find_jsonata_examples, seaf_jsonata_query), which are named as follow-ups rather than as the tool's own job.

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?

It opens with 'Когда вызывать' and gives the exact precondition (before writing a JOIN), then states when to reach for alternatives: find_jsonata_examples (relations group) or seaf_jsonata_query afterward. It also states the via_sections restriction, so the caller knows how to narrow the search.

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