Skip to main content
Glama

Symvanta

find_node

Read-onlyIdempotent

Resolve 1-10 symbols to filePath + line bounds + signature. selectors: array keyed by symbol (bare name) / symbolPath / filePath / nodeId; a flat query/name/single field also works. includeSource=true adds the excerpt, includeSummaries=true AI summaries. A node from a SCIP-indexed package also carries scip_package_name (and scip_package_version / scip_manager when known). For a class/interface/struct/protocol it carries a compact heritage field (<=5 ancestors, <=20 descendants, omitted when empty); includeHeritage:false skips it, includeCrossRepo:true walks cross-repo heritage. {resolved:false, candidates} = no confident match.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 5, max 20).
feedbackNoOptional: report how a previous answer worked out; piggybacks on any call.
commitShaNoPin reads to one indexed revision (7-40 hex). Graph tools error with revision_not_indexed when it is not an indexed revision of the scoped repository, or revision_not_servable when that revision's graph was superseded by a later reindex, and echo the revision served back as commitSha; source ops read git objects, so any commit works there. Exception: a kept revision (revisions rows flagged architectureSnapshot) still serves map view:"architecture" as a preserved snapshot.
projectIdNoProject id from init/list_projects. Omit for the active project.
selectorsYesSymbols to resolve (1-10), each by nodeId, symbol, symbolPath, or filePath.
repositoryNoRepository full name, e.g. "owner/repo". Omit when the project has one repository.
sourceModeNoWith includeSource: "signature" returns the declaration only.
includeSourceNoAttach source for resolved nodes.
expansionLimitNoCap on expanded related nodes (default 15, max 100).
includeHeritageNoDefault true. Include a compact heritage field for a class/interface/struct/protocol. false skips it on bulk scans.
includeCommunityNoAttach the symbol's Louvain module (community name). Off by default (extra edge lookup).
includeCrossRepoNoWith includeHeritage on, walk cross-repo heritage edges. No-op when includeHeritage is off.
includeSummariesNoAttach generated summaries when available.

Schema Changelog

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

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses the return shape, optional enrichments (source excerpts, summaries, SCIP package metadata, heritage), and the unresolved fallback {resolved:false, candidates}. It also clarifies modifier interactions such as includeCrossRepo being a no-op when includeHeritage is off.

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?

Four dense sentences with no filler, and the core purpose is front-loaded before selector variants and optional behavior. The long clauses earn their place given the tool's complexity and the absence of an output schema.

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 thoroughly covers what a resolved and unresolved result looks like, including optional metadata and heritage limits. Remaining parameters such as limit, projectId, repository, and sourceMode are already fully documented in the input schema, so nothing essential is missing.

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 coverage is 100%, so the baseline is 3. The description adds meaningful extra semantics by noting that a flat query/name/single field also works instead of the selectors array, and by explaining what includeSource, includeSummaries, includeHeritage, and includeCrossRepo change in the result.

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 first sentence states a precise operation: resolve 1-10 symbols into filePath, line bounds, and signature. It also differentiates the tool by supporting multiple selector forms (nodeId, symbol, symbolPath, filePath) and a flat query fallback, which distinguishes it from single-lookup siblings like locate or quick_lookup.

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 explicit guidance about when to use find_node versus sibling tools such as locate, list_file_symbols, or quick_lookup. The description explains how to invoke the tool and what it returns, but does not state when it should be preferred or excluded.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation4/5

Tools generally target distinct operations—repository attachment, symbol resolution, graph traversal, source access, indexing health—and the detailed routing notes reduce ambiguity. A few pairs still overlap in intent (quick_lookup vs locate symbol, context vs ask_codebase), so it is not perfectly unambiguous.

Naming Consistency3/5

All names are lowercase snake_case and readable, but the set mixes verb_noun patterns like add_repository and list_projects with single-word nouns/verbs like context, history, map, relate, and source, plus one acronym (adr). There is no predictable convention across the full surface, though individual names are clear.

Tool Count3/5

25 tools is at the high end for a single MCP server and falls in the 'feels heavy' range. The breadth is justified by the code-intelligence/query domain, but the selection surface is large for an agent to navigate efficiently.

Completeness4/5

The code indexing, search, graph query, source access, history, ADR, test lookup, and scope estimation needs are well covered. Minor gaps remain—no detach/remove repository, no ADR content editing, and source access is gated by an add-on—but these are workable.