Skip to main content
Glama

osnova_unreferenced

Read-onlyIdempotent

Identify unreferenced definitions by finding those with no external call or reference edges in non-test files, including counts of unresolved same-name call sites and test mentions.

Instructions

Unreferenced candidates: definitions with no resolved call or reference edge from outside their own body in a non-test file, sorted by file and line, each with the count of unresolved same-name call sites (leads that may reach it), test-file sites and identifier mentions in non-test files. Entry points (main, default exports, index.* files, package.json bin files, test files, constructors, Python dunders) are never listed; exported definitions are listed only with includeExported. Candidates only: no indexed caller is not proof of no caller.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindsNoSymbol kinds to examine (default function, method, class: the kinds the index records edges to; constants, types and interfaces receive no edges, so asking for them lists nearly all of them)
limitNoMaximum candidates (default 50); the omitted count is exact
scopeNoRepo-relative path prefix to examine (default: whole index)
includeExportedNoAlso list exported definitions, which external consumers may reach (default false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.12.0

TDQS

A4.3/5.0
Behavior4/5

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

The description adds substantial behavioral context beyond the annotations: it explains that results are sorted by file and line, describes what each result entry contains (unresolved same-name call site counts, test-file sites, identifier mentions), details the exclusion rules for entry points, and warns about the interpretation limit. This goes well beyond the readOnly/idempotent annotations. However, it doesn't discuss pagination behavior or performance characteristics.

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?

The description is dense but efficient — it front-loads the core purpose and packs substantial qualification, exclusion rules, and interpretation caveats into a compact span. There's minimal waste, though the parenthetical enumerations make it slightly heavy to parse in one pass.

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?

Given the complexity (a code-analysis query tool with nuanced semantics), no output schema, and the need to explain what 'unreferenced' means and its limitations, the description covers the essential ground: output format, exclusion rules, parameter effects, and a crucial interpretation caveat. It could be improved with a brief note on pagination or typical use case, but the core is solid.

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 description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds meaning by explaining why certain kinds are excluded by default ('constants, types and interfaces receive no edges, so asking for them lists nearly all of them') and clarifying that 'the omitted count is exact' for the limit parameter. This enriches understanding beyond raw schema text.

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 resource ('unreferenced candidates: definitions with no resolved call or reference edge from outside their own body in a non-test file') with clear precision about what is and isn't included. The sibling tools have opaque names (groundwork, outline, warp, etc.), and while no sibling is named explicitly, the semantic specificity of 'unreferenced candidates' makes the tool's purpose unambiguous.

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?

The description provides strong contextual guidance: it clarifies what constitutes an entry point that's never listed, explains the includeExported flag's purpose, and includes a caveat ('Candidates only: no indexed caller is not proof of no caller'). However, it doesn't explicitly name alternative tools or state when an agent might prefer an alternative approach. The guidance is about interpretation, not tool selection.

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