Skip to main content
Glama
JSungMin

vs-token-safer

by JSungMin

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_symbolA

Find a symbol DECLARATION (class/function/type/var) by name/substring — semantic index, not grep. → capped kind name @ file:line, no bodies. Use instead of grep/rg to locate a symbol.

find_referencesA

Every call site of a symbol (semantic, not grep) — pass symbol (a name); resolves the decl + returns all refs in one call. → capped file:line; detail=file|dir for a blast-radius summary; direction=callers|callees switches to a multi-hop call hierarchy. Use before changing a function.

goto_definitionA

Jump from a 0-based position to a definition (semantic). kind: definition (default)|type_definition|implementation|declaration. → capped file:line. For usages, use find_references.

diagnosticsA

Compiler/linter errors + warnings (semantic) → capped file:line:col severity [code]: message, sorted error→hint with a count — the compact stand-in for raw build output. Empty = clean. Default = one path; scope="directory" scans the project.

hoverC

Type/signature of the symbol at a 0-based position (hover) — a few lines, no file open.

document_symbolsA

Outline a file — classes/functions/types as a capped kind name :line list. Cheaper than reading the whole file for its structure. scope="directory" builds a signatures-only skeleton of every code file under path.

read_symbolA

USE INSTEAD OF Read on a file when you only need ONE function/class — returns just that named declaration's source (its span), not the whole file (the read twin of replace_symbol_body). signatureOnly = head only; body capped by VTS_SYMBOL_MAX_LINES.

renameA

Rename the symbol at a 0-based position project-wide (semantic — every reference, not a sed). PREVIEW by default (affected file:line); apply=true writes. Use instead of editing call sites by hand.

replace_symbol_bodyA

Change a whole function/class/method by NAMING it — USE INSTEAD OF Read-the-file + Edit (the outline gives the span, so you skip the whole-file Read and exact-match line-counting). PREVIEW by default; apply=true writes in ONE call.

insert_symbolA

Insert text next to a named declaration — position=after (default)|before. The outline gives the point (no Read). PREVIEW by default; apply=true writes. Use instead of Read-then-Edit to add a declaration.

safe_deleteA

Delete a named declaration — USE INSTEAD OF Edit-deleting it; REFUSES while still referenced (lists the refs, force=true overrides) so a delete can't silently orphan call sites. PREVIEW by default; apply=true writes.

find_filesA

Find files by name (substring or glob like *Manager.cpp) — replaces Bash find -name. → capped file list; walk-bounded (skips node_modules/build, time-boxed).

search_textA

Raw text/regex search (string literals, comments, config — what the symbol index can't answer). Replaces Bash grep when you need text, not symbols. → capped file:line: line. For code symbols prefer search_symbol.

concept_searchA

FUZZY search for a concept you can't name ("how does auth work"). Mines a dictionary from the repo's own identifier+comment co-occurrence (no embeddings, nothing sent) → ranked file:line. Use when you don't know the symbol name. flow=true traces the top hit's call graph.

detect_changesA

Review a diff by IMPACT: git diff → changed symbols → blast radius (callers) + LOW/MED/HIGH risk. → capped [risk] symbol file:line, no bodies (semantic blast + git co-change, nothing sent). Use before committing. staged=true (index) / base="".

vts_adminB

Admin/meta ops (rarely needed): set op, pass its args in params. discover = searches that bypassed vts; index/preindex/warmup = build indexes; git·p4{argv} = read-only VCS, output compacted.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 16 tools

Disambiguation5/5

Each tool targets a distinct operation: search, reference, definition, diagnostics, hover, outline, and symbol edits are clearly separated. Even the three search tools (search_symbol, search_text, concept_search) are explicitly differentiated by whether the input is a symbol name, raw text, or a fuzzy concept.

Naming Consistency3/5

Most tools follow a readable verb_noun snake_case pattern (find_references, replace_symbol_body, insert_symbol), but there are notable deviations: concept_search reverses the search_* convention, vts_admin is a cryptic meta-tool name, and diagnostics/hover/rename are bare nouns or verbs. The set is still readable, but the naming pattern is not consistently applied.

Tool Count4/5

At 16 tools, the server is slightly above the usual sweet spot, but each tool maps to a distinct code-intelligence or symbol-editing capability. There is minimal redundancy, and the breadth is justified by the wide range of navigation, search, editing, and safety operations covered.

Completeness5/5

The set provides full symbol lifecycle coverage: read_symbol for reading, insert_symbol for creating, replace_symbol_body and rename for updating, and safe_delete for deleting. It also covers navigation, search, diagnostics, diff impact analysis, and file discovery, so agents have no obvious dead ends when working with code symbols.

Maintenance

ActivityActive
ResponsivenessUnresponsive