Skip to main content
Glama

topology_search

Find functions, types, classes, and other symbols in the code topology index using names, identifiers, signatures, or docstrings. Filter by kind and language to pinpoint relevant code locations.

Instructions

Ranked FTS5 search over the topology index. Narrow a broad query first: kinds, language, limit, include_snippets=false. Finds symbols, functions, types, classes, and other named entities by name, tokenised identifier (camelCase/snake_case), qualified name, signature, or docstring. Results include kind, file path, line range, match field, score, and optional snippet. Source is 'topology' (approximate; use search_in_files for exact filesystem matches). Code-structure corpus only — for ranked discovery that also spans docs and memories, use workspace_search (this tool is one of its backends). Returns a clear message when the index is disabled or empty.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindsNoOptional filter by node kinds: function, method, type, class, constant, variable, import, package, test.
limitNoMaximum number of results to return. Default 20.
queryNoSearch query. Terms are OR-matched against symbol names, tokenised identifiers (camelCase/snake_case split), qualified names, signatures, and docstrings.
rerankNoRe-rank FTS5 results by semantic similarity to the query (needs [semantics] enabled + an API key). Defaults to the [semantics].enabled config; pass false to force the plain FTS5 ranking, true to force re-rank when configured.
languageNoOptional filter by language (e.g. 'go', 'python').
include_snippetsNoInclude a short snippet showing the matching text. Default true.

Schema Changelog

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

  1. First observedv0.16.6

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description bears the full burden of behavioral disclosure. It conveys that the source is approximate ('topology (approximate)'), explains the return fields (kind, file path, line range, match field, score, optional snippet), and mentions a clear message when the index is disabled or empty. It does not mention side effects (none for a search) but adequately covers the operational 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?

The description is reasonably concise, with each sentence delivering distinct value: it states purpose, provides usage guidance, lists result fields, and gives alternative tooling. The key 'Narrow a broad query first' instruction is front-loaded. It's slightly long but not verbose, earning a 4 rather than a 5.

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?

The description is complete for a search tool: it specifies the result structure, explicitly notes the approximate nature of the source, and covers the disabled/empty index behavior. Since there is no output schema, the description properly explains return fields. It also references sibling tools for alternative use cases, making it self-sufficient for an agent.

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%, so the schema already fully documents all parameters. The description adds minor guidance (e.g., suggesting include_snippets=false to narrow) and clarifies the re-rank behavior, but it does not add substantial meaning beyond what the schema provides. A baseline of 3 is appropriate when the schema is the primary source of parameter information.

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 clearly states a specific verb (search) and resource (topology index), and explicitly distinguishes itself from search_in_files (exact filesystem matches) and workspace_search (broader discovery including docs and memories). It also lists what it finds (symbols, functions, types, classes) and the fields returned.

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

Usage Guidelines5/5

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

The description opens with 'Narrow a broad query first', gives specific narrowing parameters (kinds, language, limit, include_snippets=false), and explicitly tells the agent when to use alternatives: 'use search_in_files for exact filesystem matches' and 'for ranked discovery that also spans docs and memories, use workspace_search'. This provides clear when-to-use and when-not-to-use guidance.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/plumbkit/plumb'

If you have feedback or need assistance with the MCP directory API, please join our Discord server