Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NEXUS_LOG_LEVELNoLogging levelINFO
NEXUS_LOG_FORMATNoLog format: text or jsontext
NEXUS_SEARCH_MODENoSearch mode: hybrid, vector, or bm25hybrid
NEXUS_STORAGE_DIRNoStorage directory for indexes.nexus
NEXUS_MAX_MEMORY_MBNoMemory budget350
NEXUS_CHUNK_MAX_CHARSNoMax code snippet size per chunk4000
NEXUS_EMBEDDING_MODELNoEmbedding model (jina-code, bge-small-en)jina-code
NEXUS_EMBEDDING_DEVICENoDevice for embeddings: auto (CUDA > MPS > CPU), cuda, mps, cpuauto
NEXUS_MAX_FILE_SIZE_MBNoSkip files larger than this10
NEXUS_FUSION_WEIGHT_BM25NoBM25 engine weight in RRF0.3
NEXUS_FUSION_WEIGHT_GRAPHNoGraph engine weight in RRF0.2
NEXUS_FUSION_WEIGHT_VECTORNoVector engine weight in RRF0.5

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
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
statusA

Check whether this project is indexed and whether the index is fresh. You do not need it before other nexus tools: an index saved in an earlier session is attached when the server starts. Use it when a tool says "No codebase indexed" or to see index size. Returns indexed (true/false), file and symbol counts, which engines are ready, memory use, and a stale warning if files changed since the last index (a background reindex starts by itself). If indexed is false, call index.

indexA

Build or refresh the code index for a project. Call it once per project when status says indexed is false; search, find_symbol, graph, map and analyze all need it. Pass an absolute path, or several comma-separated paths for a monorepo. It is incremental when an index exists, and a file watcher then keeps the index fresh, so you rarely need to call it again. Large repositories take a while; progress is reported.

searchA

Find code by meaning or by keyword: "where is...", "how does... work", "find the code that...", "what handles...". Returns ranked results with file path and line range. The first three carry the whole function or class, so you can answer without opening the file. A query can hold exact names (parse_config RetryPolicy): their definitions come first. For the whole code of a result that is cut, call find_symbol with its name. Source files rank before test files unless the query asks for tests. For an exact string or a file you already know, your built-in grep or read is just as good.

find_symbolA

Look up functions, classes, methods or constants by name and get the whole code of each, with file, line range and direct callers and callees. Use it when you know the name ("show me create_order", "where is TokenBudget defined"), and in place of a file read or a grep for a definition. Pass several names in one call. A class longer than 2,000 characters gives an outline (its head and one line per method); ask for "Class.method" for a method's code. Other code longer than 6,000 characters is cut and marked (truncated). Set exact=false to match part of a name when you are unsure of the spelling. For every use of a name, use graph.

graphA

Trace the call graph: who calls a function (direction='callers') or what it calls (direction='callees'). With transitive=true it lists everything that depends on the symbol, directly or indirectly; use that before you change a signature or rename, move or delete a shared function ("what breaks if I change X"). A callers result also has references: every use of the name as a whole word (source lines with their code, test files as counts), so you do not need a grep to check it. Edges are static, so calls through callbacks, reflection or dynamic dispatch are missing from the caller list; references still shows those lines.

analyzeA

Review the quality of the indexed project, or of one path: the most complex functions, long functions, large classes, dead code (functions with no static caller), module dependencies and an overall quality score. Use it for "what is the most complex code", "review this directory", "is there dead code". Pass path (relative) to limit it to a directory or file. Read-only. Complexity is cyclomatic and approximate, and dead-code entries have no static caller, so check them before you delete anything.

mapA

Get an overview of the project: "give me an overview", "how is this structured", "where do I start", "what are the main modules". 'summary' lists files, languages, top modules and quality. 'architecture' gives layers, module dependencies, entry points and the most connected symbols. 'full' gives both. Use it at the start of work in an unfamiliar repository, before you list directories or open files one by one.

memoryA

Keep and recall project knowledge across sessions: decisions, preferences, conventions, status. Use action='store' when the user says "remember that..." or a decision is made, action='search' for "what did we decide about...", and action='delete' to remove outdated notes by ID or tags. Notes are stored with the index of this project (the .nexus folder) and found by meaning, not by exact words.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct facet of code intelligence: status vs index (state vs build), search vs find_symbol (semantic vs name lookup), graph (call relations), analyze (quality), map (overview), memory (notes). Descriptions explicitly cross-reference each other to steer selection, leaving no real overlap.

Naming Consistency4/5

Names are consistently short, lowercase single tokens, but they mix noun-style (status, graph, map, memory) with verb-style (index, search, analyze) and one snake_case outlier (find_symbol). Mostly predictable, minor deviations only.

Tool Count5/5

Eight tools is well-scoped for a code-index server, and each earns its place with a clear, non-redundant role spanning indexing, search, navigation, analysis and memory.

Completeness5/5

Covers the full lifecycle: index status/build, semantic and name search, call-graph tracing, quality analysis, architectural overview, and persistent project memory. Literal grep is delegated to built-ins, which is a reasonable boundary, leaving no notable gaps.

Maintenance

ActivityActive
ResponsivenessNo recent community issues