Skip to main content
Glama

jade.find

Read-only

Locate declarations by name and get their source in one call—replaces grep for symbols. Exact names win; multiple queries supported.

Instructions

Locate declarations by name AND return their source in one call — the fused search-and-read that replaces grep -n 'func X' -A 30. Exact name matches win over substring ones. Use this instead of outline and read_range when you have not located the symbol yet. Pass queries to find several names in one call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoNarrow by kind. func/function, type/struct/class/interface, method, const, var — spellings within a family are equivalent. Empty matches any.
limitNoMaximum declarations to return (default 5). Prefer budget.
queryNoSymbol name, exact or partial.
budgetNoSize of the answer in tokens. Cut at whole declarations; the rest is behind continue=<handle>.
queriesNoSeveral symbol names in one call, instead of query. Each is answered as query would be.
continueNoHandle from a cut answer: its next page.
maxLinesNoMaximum lines of each body (default 40). Prefer budget.
dependencyNoLook in this dependency's source instead of the workspace, read-only: a crate, Go module, npm or Python package name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.10

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only say readOnlyHint=true, so the description carries the behavioral burden. It adds useful semantics: exact name matches win over substring matches, source is returned in the same call, and multiple names can be searched at once. These are genuine behavioral traits beyond the annotation.

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?

The description is compact and front-loaded: the first sentence states the core action and value, then matching behavior and usage guidance follow. Every sentence earns its place, and there is no repetition of schema metadata.

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?

The description gives purpose, matching semantics, and an explicit usage condition, while the schema fully documents all eight parameters. The main remaining gap is that there is no output schema, so the agent gets less detail about the exact return shape, but the description still conveys what comes back: source code.

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 description coverage is 100%, so the baseline applies even without parameter detail in the description. The phrase 'Pass queries to find several names' mirrors the documented queries parameter and adds no new syntax or format details.

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 states a specific action ('Locate declarations by name') and a concrete outcome ('return their source in one call'), making the tool's purpose unambiguous. It also distinguishes itself from siblings like read_range and grep by positioning itself as the fused search-and-read, so an agent can tell what it is for.

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?

It gives explicit routing guidance: 'Use this instead of outline and read_range when you have not located the symbol yet.' It also notes multi-name lookup via queries Serious. The only gap is that it does not give a full when-not matrix, but the guidance is clear and actionable.

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