nexus-mcp-ci
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEXUS_LOG_LEVEL | No | Logging level | INFO |
| NEXUS_LOG_FORMAT | No | Log format: text or json | text |
| NEXUS_SEARCH_MODE | No | Search mode: hybrid, vector, or bm25 | hybrid |
| NEXUS_STORAGE_DIR | No | Storage directory for indexes | .nexus |
| NEXUS_MAX_MEMORY_MB | No | Memory budget | 350 |
| NEXUS_CHUNK_MAX_CHARS | No | Max code snippet size per chunk | 4000 |
| NEXUS_EMBEDDING_MODEL | No | Embedding model (jina-code, bge-small-en) | jina-code |
| NEXUS_EMBEDDING_DEVICE | No | Device for embeddings: auto (CUDA > MPS > CPU), cuda, mps, cpu | auto |
| NEXUS_MAX_FILE_SIZE_MB | No | Skip files larger than this | 10 |
| NEXUS_FUSION_WEIGHT_BM25 | No | BM25 engine weight in RRF | 0.3 |
| NEXUS_FUSION_WEIGHT_GRAPH | No | Graph engine weight in RRF | 0.2 |
| NEXUS_FUSION_WEIGHT_VECTOR | No | Vector engine weight in RRF | 0.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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| indexA | Build or refresh the code index for a project. Call it once per project
when |
| 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
( |
| 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 |
| 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 |
| 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 |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
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.
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.
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.
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.