shelfmark
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RAG_DIM | No | Embedding dimension. Default: 384 | 384 |
| RAG_HOME | No | Data dir (index, sources.yaml). Default: ~/.shelfmark | ~/.shelfmark |
| RAG_QLOG | No | Local query telemetry (powers report.py). Default: off | off |
| RAG_MODEL | No | Embedding model. Default: e5-small | e5-small |
| RAG_BM25_WEIGHT | No | BM25 weight; >1 favors lexical match. Default: 1.5 | 1.5 |
| RAG_CODE_RERANK | No | bge-reranker-v2-m3 for code scopes (+4.9pp, ~2.2GB). Default: off | off |
| RAG_RERANK_AUTO | No | Rerank weak/ambiguous queries. Default: on | on |
| RAG_KNOWLEDGE_SCOPE | No | Configures cross-project search scope for durable knowledge. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| rag_queryA | Hybrid semantic + BM25 search over the user's configured corpus: notes, docs, repo docs + README + CHANGELOG, recent git commits, session transcripts, and source code (TS/JS/Python/Shell) from the configured repos. Returns top-K chunks with path:line + symbol + repo citations. Auto-scopes to the current repo when cwd is inside one — pass scope_repos=['all'] to disable. Use instead of grep for fuzzy or cross-file recall. |
| search_knowledgeA | Semantic search over the knowledge layer — durable notes and decisions: memory notes, ADRs, plans, session handoffs, and standards (NOT source code or git commits). Cross-project by design (searches all repos, no cwd auto-scoping). Use for 'what did we decide / is there a note about X / did we hit this before'. For source-code or git-commit recall, use rag_query instead. |
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 2 tools
The two tools have clearly distinct scopes: rag_query searches broadly across code, docs, and commits, while search_knowledge targets only durable knowledge artifacts. Their descriptions explicitly state when to use each, eliminating ambiguity.
Both names use lowercase snake_case and are descriptive, but the pattern differs: 'rag_query' places the technology prefix before the verb, while 'search_knowledge' follows a verb-noun structure. This minor inconsistency doesn't cause confusion, but a unified pattern like 'search_all' and 'search_knowledge' would be cleaner.
With only two tools, the server feels minimally scoped, but for a focused search/retrieval service this is arguably sufficient. The two tools complement each other well without redundancy, though a few more specialized search options could justify a higher score.
The two tools cover broad and knowledge-specific search, including source code, commits, notes, and decisions. Minor gaps exist such as lacking a tool to retrieve a specific document by ID or list available sources, but core retrieval needs are met.