mcp-spec-nav
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPEC_NAV_ROOT | Yes | The absolute path of the code to scan (the monorepo root to cover every service) — not the installation directory of mcp-spec-nav. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| spec_nav_mapA | Regex search across every project under the root (code, then config/docs/SQL), each code hit tagged with the function it sits in. When the service or file is known, narrow with |
| spec_nav_find_functionsA | Before writing new logic: find existing functions by describing the behaviour in words ("calculate order fee"). Lexical ranking over name, aliases, class, signature, doc comment, path, called names and body, with stem, abbreviation and synonym matching; each candidate says why it matched, and matches only via calls or body rank lower. Not semantic: if nothing fits, use spec_nav_similar_functions. Returns ids for spec_nav_read_function. Paged by |
| spec_nav_similar_functionsA | Find functions that behave like a given one, whatever they are named, by comparing the calls they make and their body vocabulary. Subject: |
| spec_nav_functionsA | Function catalog of a file, directory or service without bodies: qualified name, kind, signature, line range, export status, doc summary and id. Filter by |
| spec_nav_read_functionA | Read functions in full (signature, doc comment, imports used, source with line numbers), up to 10 per call with |
| spec_nav_servicesA | The projects under the root as |
| spec_nav_callersA | Call sites of a function or method across the repo, before changing its signature or behaviour. Narrow with "Class.method", |
| spec_nav_trace_flowA | Trace a flow across services, statically from source: HTTP client → route → handler, RPC call → handler, event/topic → consumers, plus direct calls inside each service. Use when a change touches an endpoint, RPC call or event. Start from a function ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools target distinct operations: regex text search (map), behavior-keyword search (find_functions), structural similarity (similar_functions), catalog listing (functions), full read (read_function), call sites (callers), flow tracing (trace_flow), and service listing (services). The main risk is overlap among map, find_functions, and similar_functions, but the descriptions explicitly differentiate them (regex vs lexical vs call/body comparison) and cross-reference each other. Boundaries are clear enough that misselection is unlikely.
Every tool uses the same snake_case style under a uniform spec_nav_ prefix, with predictable noun/verb phrases (find_functions, read_function, trace_flow, callers). No mixing of camelCase or alternate conventions. The convention is consistent and readable throughout.
Eight tools is well-scoped for a read-only code navigation server, with each tool covering a distinct navigation concern (search, discovery, similarity, catalog, read, callers, flow, services). No tool feels redundant or padded.
The surface covers the core navigation lifecycle: discover, list, read, find similar, find callers, and trace cross-service flows, plus a service inventory. Gaps are minor: no dependency/import-graph or class-hierarchy tool, and non-call symbol references (constants, types) aren't directly searchable, but agents can largely work around these with map and functions.