Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ROOTYesThe root directory of the repository to index and serve.
NO_WATCHNoIf set to 'true', disables file watching (equivalent to --no-watch).false

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
map_overviewA

START HERE for any unfamiliar codebase or feature area. Returns a cheap, token-budgeted structural summary (clusters of related files, hub symbols with node IDs) from a pre-built static index — no language-server cost, milliseconds even on large repos. Use the returned node IDs with map_neighbors to explore relationships and with resolve to jump to exact live locations. The index may lag recent edits: before editing or relying on a specific line number, confirm with resolve or nav_definition, which query the live language server.

map_searchA

Fuzzy symbol lookup over the static map — the cheap way to find candidate symbols by name when you don't have a location yet. Returns node IDs usable with map_neighbors and resolve. Name-based and possibly stale; for ground truth use nav_workspaceSymbols, which queries the live language server.

map_neighborsA

Explore the static relationship graph around one node: callers/callees, imports, inheritance, containment. Call this BEFORE nav_references when you want the shape of the dependency fan-in/out cheaply — it is instant and token-budgeted, while nav_references invokes the language server. Edges come from static analysis: resolved:false edges are name-match guesses, and any edge can be stale or miss dynamic dispatch. Once you've picked the edges that matter, verify with nav_references or nav_callHierarchy at the location from resolve(nodeId).

map_pathA

Shortest structural path between two symbols in the static map (over imports/calls/inheritance/containment). Useful to understand how two areas connect before reading code. Static and possibly stale — confirm the load-bearing hops with nav_references.

map_rebuildA

Rebuild the static map index (incremental: only changed files are re-parsed). Long-running on first build of a large repo. Not needed for nav_* correctness — those are always live. Use when map responses flag staleness or after large refactors.

map_statusA

Health and freshness of both layers: map age, file/symbol/edge counts, stale files, watcher state, and per-language LSP availability. Cheap; call when results look off or to check whether a language server is installed.

nav_definitionA

Ground-truth 'go to definition' from the live language server, always reflecting current on-disk contents. Use after orienting with map_search/map_neighbors, or directly when you already have an exact file:line:col (resolve(nodeId) gives you one from a map node ID).

nav_referencesA

Ground-truth 'find all references' from the live language server (pyright/tsserver), always reflecting current on-disk file contents. Use this to CONFIRM impact before editing a symbol — it is authoritative where the static map is only indicative. Costs real latency on large projects, so narrow first: use map_neighbors to identify the area, resolve(nodeId) for an exact file:line:col, then call this. If results are truncated, refine with fileFilter rather than raising the budget.

nav_implementationsA

Live 'go to implementations' for an interface/abstract method (language-server ground truth). Same usage pattern as nav_definition: get an exact position first via resolve or map_search + resolve.

nav_typeA

Live hover: resolved type signature and docs at a position, from the language server's type checker. The authoritative answer to 'what type is this?' — the map only stores parse-time signatures.

nav_symbolsB

Live outline of one file (document symbols, hierarchical). Always current — prefer this over reading a whole file to learn its structure.

nav_workspaceSymbolsA

Live workspace-wide symbol search from the language server. Authoritative but slower than map_search; use when the map is stale or missing, or to confirm a map_search hit. Query must be ≥3 chars to avoid result floods.

nav_callHierarchyA

Live call hierarchy (incoming callers or outgoing callees) from the language server. Position must be on the symbol name — use resolve(nodeId) to get one. Falls back to nav_references / static map call edges when the server lacks call-hierarchy support (response carries source:'fallback-*' and a warning).

resolveA

The bridge between the static map and the live language server — call it whenever you switch layers. Given a map nodeId, returns the verified current file:line:col plus live symbol info, with mapStale:true if the indexed location has drifted (the live location is authoritative). Given a file:line:col, returns the enclosing symbol chain and the matching map nodeId (inMap:false with the nearest container if the map hasn't caught up). Use before nav_* calls that need exact positions, and after nav_* results to re-enter the map graph.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/LSDIPPOLLC/transcend-mcp'

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