transcend
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROOT | Yes | The root directory of the repository to index and serve. | |
| NO_WATCH | No | If set to 'true', disables file watching (equivalent to --no-watch). | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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