Skip to main content
Glama
cognis-digital

codegraph-mcp

search_symbols

Search indexed code symbols—functions, methods, classes, and types—by name substring to locate definitions quickly.

Instructions

Search indexed symbols (functions, methods, classes, types) by name substring.

Input Schema

NameRequiredDescriptionDefault
kindNo
limitNo
queryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It only implies a pre-built index exists ('indexed symbols'); it says nothing about case sensitivity, whether results are ranked or ordered, what happens on truncation at the default limit of 50, or whether the search is scoped to a specific project. For an unannotated, 0%-schema-coverage tool this is a substantial 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?

One sentence, front-loaded with the action and resource, with the kind enumeration and match mode packed in efficiently. No filler; the only cost is that terseness leaves the transparency gaps noted above.

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

Completeness2/5

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

No annotations and no output schema, so the description is the only source of runtime behavior — and it omits result shape, ordering, case sensitivity, index scope, and truncation. For a 3-parameter search tool with zero schema coverage, more is needed for an agent to call it confidently.

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?

With 0% schema description coverage, the description must compensate and it partially does: 'by name substring' defines the matching semantics of `query`, and the parenthetical '(functions, methods, classes, types)' maps onto the `kind` enum. The `limit` parameter and its truncation behavior are entirely unaddressed.

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?

States a specific verb ('Search') and resource ('indexed symbols'), enumerates the symbol kinds in a parenthetical, and pins down the match mode ('by name substring'). That already separates it from get_symbol (exact retrieval) and find_references (relationship traversal), though it never names those siblings explicitly.

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 substring-match phrase implicitly signals the use case (partial/fuzzy name lookup, as opposed to exact lookup via get_symbol), but the description never states when to prefer this tool over its siblings or what it cannot do. Usage must be inferred from the matching semantics rather than read.

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