Skip to main content
Glama

find_existing

Check for existing functions, classes, files, or map entries by matching keywords against names and paths before writing new code, so you can reuse or extend what already fits.

Instructions

Before writing a new function, helper or module: the functions, classes, files and map entries that may already do it, matched by words (not meaning) against names and paths. Give a few words about what it does, e.g. "payment retry" or "csv export". If one fits, use or extend it instead of writing another.

Input Schema

NameRequiredDescriptionDefault
queryYesa few words about what you are about to write

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.15.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full behavioral burden, and it does disclose the most consequential trait: matching is lexical, not semantic, so a caller must choose literal terms rather than describe intent. It says nothing about result ordering, result limits, or what each match contains, which matters because there is no output schema to fall back on.

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 when-to-use clause is front-loaded ahead of what the tool returns and how to act on results, which is the right order. Three sentences, no filler, though the colon-joined first sentence reads as a fragment and takes a second pass 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?

For a one-parameter lookup with no output schema and no annotations, the description covers the trigger, the matching semantics, and the intended next action. The main remaining gap is what a result looks like (paths only? snippets? ranked?), which an agent may want before deciding whether to act on a hit.

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% and there is a single parameter, so the baseline is 3. The description earns above that by supplying concrete query examples ('payment retry', 'csv export') that show the expected granularity and shape of input, which the schema's 'a few words' wording alone leaves ambiguous.

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?

The description states a specific action and target: it returns functions, classes, files and map entries that may already implement what the caller is about to write. It also pins the matching mechanism (words, not meaning, against names and paths), which distinguishes it from a semantic search. It stops short of naming any sibling tool, so the differentiation from check_map and read_list is inferred rather than stated.

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?

Timing is explicit ('Before writing a new function, helper or module') and the follow-up action is prescribed ('use or extend it instead of writing another'), which is stronger guidance than most tools give. It does not name alternatives or state when not to bother calling it, so it lands at 4 rather than 5.

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