Skip to main content
Glama
KaryawanSurga

TokenSaver MCP

Find symbol

find_symbol
Read-only

Locate any function, class, interface, or method by name in JavaScript and TypeScript projects. Returns file, line, kind, and visibility so you can jump directly to the definition.

Instructions

Find functions, classes, interfaces, types, enums, constants, or methods by name across JavaScript and TypeScript files. Returns file, line, kind, and visibility so you can jump straight to the definition.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoRestrict matches to one symbol kind
pathYesAbsolute path to the repository root
limitNoMaximum matches to return (default 20)
queryYesCase-insensitive symbol name or fragment to search for

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds value by disclosing the return fields (file, line, kind, visibility) and the scope (JavaScript and TypeScript files), which helps the agent know what to expect. It does not mention rate limits or edge cases, but those are less critical for a read-only search tool.

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 exactly two sentences. The first sentence front-loads the action and scope, the second states the return value. No filler or redundant phrasing; every word contributes to understanding.

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?

Given no output schema, the description adequately explains the return shape (file, line, kind, visibility). It also names the supported languages and the search criterion. Minor omissions like ordering or empty-result behavior are acceptable for a straightforward read-only search tool with full schema coverage.

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%, all parameters (path, query, kind, limit) are fully described in the schema. The tool description only lists symbol kinds, which duplicates the already-detailed enum in the schema. It adds no new parameter-level meaning beyond what the schema provides, so it sits at the baseline of 3.

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 uses a specific verb and resource: 'Find functions, classes, interfaces, types, enums, constants, or methods by name across JavaScript and TypeScript files.' It clearly distinguishes itself from siblings like repo_map, file_outline, and entry_points by focusing on symbol search across files, not mapping, outlining, or entry points.

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?

The description gives clear context: use this tool when you need to locate a symbol by its name or fragment. It does not explicitly name alternatives or provide when-not-to-use conditions, but the phrase 'by name' and the focus on definitions makes the intended usage obvious. This is clear context without exclusions.

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

Deploy Server

Other Tools