Skip to main content
Glama
mark-burg

reference-mcp

by mark-burg

find_symbol

Locate the definition of any function, class, method, or variable in your codebase. Returns kind, qualified name, file:line, and optional full source. Provides suggestions for near matches.

Instructions

Locate where a function/class/method/variable is DEFINED.

Returns each definition's kind, qualified name, and 'path:line'. With
include_body=True, also returns the full source of each match. If nothing
matches you get 'did you mean' suggestions.

Do NOT use to find usages/call sites — use find_references. Do NOT use for
free-text search — use search_code.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesBare name ('connect') or dotted suffix ('Client.connect').
kindNoOptional filter: class|function|method|variable|constant.
include_bodyNoInclude full source body of each match (costs tokens).
response_formatNo'concise' or 'detailed'.concise
limitNoMax matches to return.
offsetNoPagination offset.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that include_body=True returns full source and costs tokens, which is a behavioral trade-off for agents. It also implies read-only operation by describing a find/locate action. However, it does not explicitly state idempotency or absence of side effects, nor does it mention rate limits or auth requirements, leaving minor gaps.

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 four sentences long, front-loaded with the primary purpose in the first sentence. Every sentence earns its place: purpose, return content, include_body option, and usage exclusions. There is no redundant phrasing, and the text is structured for quick scanning.

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?

Given the tool has 6 parameters, an output schema (not shown but present), and no annotations, the description provides all essential context: what it does, what it returns, how to paginate (via implicit schema parameters), trade-off of include_body, and error handling ('did you mean'). The output schema likely covers return structure, so the description does not need to. It is complete for effective agent use.

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 description coverage is 100% (all 6 parameters documented in schema). The tool description adds value beyond schema by explaining name as 'bare name or dotted suffix' and include_body as 'costs tokens' and returns full source. It does not elaborate on limit, offset, or response_format, but the schema sufficiently describes them, so the description incrementally improves parameter understanding.

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 the tool locates definitions of functions/classes/methods/variables. It specifies return content (kind, qualified name, path:line) and distinguishes from siblings by explicitly saying not to use for usages/call sites (use find_references) or free-text search (use search_code). The verb 'locate' paired with resource 'definitions' is precise and unambiguous.

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 provides explicit when-not-to-use scenarios and alternative tools: 'Do NOT use to find usages/call sites — use find_references. Do NOT use for free-text search — use search_code.' It also informs agents that 'did you mean' suggestions are returned when no match is found, setting expectations for nil results. No missing context for usage decisions.

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

Install Server

Other Tools

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/mark-burg/reference-mcp'

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