Skip to main content
Glama

case_collisions

Detects and groups node IDs that collide after Unicode NFC normalization and casefolding, so duplicate identifiers can be found and resolved.

Instructions

Groups of >=2 node ids identical under Unicode NFC+casefold.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does usefully define the exact normalization algorithm (Unicode NFC + casefold) and the minimum group size (>=2), which is genuine behavioral specification. However, it does not disclose that the operation is read-only, whether it scans the entire graph or a scoped region, or whether results are bounded, so an agent can't fully predict behavior.

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?

A single compact clause with zero filler and no redundancy. It is front-loaded and easy to scan. It is arguably too terse to stand alone as documentation, but under the conciseness dimension there is no waste to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the return shape need not be explained, and with zero parameters the schema burden is minimal. The criterion for a collision is stated exactly, which covers the core need. Still missing is the scope of the scan (whole graph versus a subset) and confirmation of read-only semantics, leaving modest gaps for a diagnostic tool in a crowded sibling set.

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?

The tool takes zero parameters and the schema is fully described, so there is nothing for the description to clarify at the parameter level. Baseline of 4 applies for a parameterless tool; no additional param semantics are needed or missing.

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 precisely what the tool surfaces: groups of at least two node ids that are identical once normalized under Unicode NFC + casefold. That criterion is specific enough to distinguish it from sibling diagnostics like find_similar, orphans, or contradictions, which detect different conditions. It lacks an explicit verb, but the noun phrase unambiguously identifies the resource and the collision rule.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no statement of prerequisites, and no named alternative among the many diagnostic siblings (find_similar, orphans, contradictions, stale, dangling_edges). An agent must infer the use case purely from the criterion. The tool family membership implies a linting/reporting context, but that is only implied.

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