Skip to main content
Glama

Get one symbol in full

codetopo_get_symbol
Read-only

Fetch a code graph node by id to get its kind, location, tier, definitions, references, and incident edges grouped by kind and direction with counts.

Instructions

One node in full - kind, location, tier, defines and refs - plus its incident edges grouped by kind and direction, with counts (containment excluded). Errors when the id is unknown.

Input Schema

NameRequiredDescriptionDefault
nodeYesNode id to fetch.
db_pathYesPath to the index database.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the read-only, non-destructive profile, and the description adds real context beyond that: containment edges are excluded from the returned edge set, edges are grouped and counted, and unknown ids produce an error rather than an empty result. No mention of result size or depth limits, which is the only remaining gap.

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 dense sentence with the return shape front-loaded and the error behavior appended last. No filler, though the compressed enumeration of fields takes a moment to parse.

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?

With no output schema and only two well-documented parameters, the description does the heavy lifting by spelling out what the response contains and how edges are organized. It only lacks guidance on result volume and on where valid node ids come from.

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% with both parameters documented, so the schema carries parameter meaning. The description does not clarify id format or how to obtain a node id (e.g., from codetopo_search_symbols), leaving it at the baseline.

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?

Specific verb and resource: fetch one node in full, enumerating the returned fields (kind, location, tier, defines, refs) and its incident edges grouped by kind and direction. 'One node' implicitly contrasts with graph-wide siblings like codetopo_neighborhood, but no sibling is named outright.

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?

Usage is only implied by the 'one node in full' framing and the error-on-unknown-id note. It never says when to prefer this over codetopo_neighborhood, codetopo_ancestors, or codetopo_search_symbols, which is the main ambiguity for an agent choosing among graph tools.

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