Skip to main content
Glama

relations_relate

Create a typed link between two findings (duplicate, split, follow-up, related) and record who asserts it. For duplicate_of, designate loser and survivor to show which finding is retained.

Instructions

Assert a typed relation between two findings.

Args:

  • src_id: Source finding (e.g. "CB-5"). For duplicate_of this is the LOSER — the card that dies.

  • rel: duplicate_of, split_from, follow_up_of, found_during, distinct_from, or related_to.

  • dst_id: Target finding. For duplicate_of this is the SURVIVOR.

  • source: Who is asserting this (e.g. "owner", "goldset-2026-08-17").

  • note: Optional reasoning.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
relYes
noteNo
dst_idYes
sourceYes
src_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.2.2

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden and does disclose meaningful asymmetry for duplicate_of relations ('LOSER — the card that dies' vs. 'SURVIVOR') and source attribution. It does not mention idempotency, whether re-asserting a relation errors or replaces, permissions, or other side effects, so the disclosure is useful but incomplete.

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?

The description opens with a one-sentence purpose and then uses a clean Args list with one line per parameter. There is no filler, and the formatting makes the parameter semantics scannable for an agent.

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 five-parameter mutation tool with no annotations, the description covers all parameters, the controlled vocabulary, and the crucial duplicate_of directionality; the output schema likely covers return values. It could be more complete by explaining the other relation types' directionality and the effect of re-asserting an existing relation, but it is not missing anything essential for a basic correct call.

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%, but the description fully compensates by explaining every parameter, listing all valid values for rel, and giving concrete examples for src_id and source. It also adds critical semantic meaning for src_id and dst_id in the duplicate_of case, which the schema alone does not convey.

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?

The description states a precise action ('Assert a typed relation between two findings') and names the resource ('findings'), with a list of valid relation types that make the operation concrete. It does not explicitly differentiate from sibling tools relations_unrelate and relations_query, but 'assert' plus the enumerated relation types make it identifiable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied: call this when creating a typed relation, as opposed to relations_unrelate or relations_query for removing or inspecting relations. However, there is no explicit when-to-use or when-not-to-use guidance, and no sibling tools are named as alternatives.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/faxik/codebugs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server