RAG Vault
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_PATH | No | Where vectors are stored. Default: ./lancedb/ | ./lancedb/ |
| BASE_DIR | No | Only files under this path can be accessed. Default: current directory | . |
| WEB_PORT | No | Port for web interface. Default: 3000 | 3000 |
| CACHE_DIR | No | Model cache directory. Default: ./models/ | ./models/ |
| RAG_RRF_K | No | RRF smoothing constant (only applies in rrf mode). Default: 60 | 60 |
| MODEL_NAME | No | HuggingFace embedding model. Default: Xenova/all-MiniLM-L6-v2 | Xenova/all-MiniLM-L6-v2 |
| UPLOAD_DIR | No | Temporary directory for web UI file uploads. Default: ./uploads/ | ./uploads/ |
| RAG_API_KEY | No | API key for authentication. Default: unset | |
| CORS_ORIGINS | No | Allowed origins (comma-separated, or *). Default: localhost | localhost |
| RAG_GROUPING | No | Quality filter: unset, similar (top group only), or related (top 2 groups). Default: unset | |
| MAX_FILE_SIZE | No | Biggest file you can ingest (bytes). Default: 104857600 (100 MB) | 104857600 |
| JSON_BODY_LIMIT | No | Max request body size. Default: 5mb | 5mb |
| RAG_SEARCH_MODE | No | Fusion mode: boost (multiplicative keyword boost) or rrf (Reciprocal Rank Fusion). Default: boost | boost |
| REQUEST_LOGGING | No | Turn on request audit logging. Default: false | false |
| RAG_HYDE_API_KEY | No | API key for LLM backend (required when RAG_HYDE_BACKEND=api). Default: unset | |
| RAG_HYDE_BACKEND | No | rule-based for local template expansion, api for LLM-based HyDE. Default: rule-based | rule-based |
| RAG_HYDE_ENABLED | No | Turn on query expansion for better recall. Default: false | false |
| RAG_MAX_DISTANCE | No | Drops results below this relevance threshold (use with boost mode). Default: unset | |
| RAG_HYBRID_WEIGHT | No | Balance between vector and BM25. 0 = vector-only, 1.0 = BM25-only. Default: 0.6 | 0.6 |
| ALLOWED_SCAN_ROOTS | No | Directories allowed for database scanning. Default: Home directory | |
| RAG_HYDE_API_MODEL | No | Model for LLM-based expansion. Default: claude-haiku-4-5-20251001 | claude-haiku-4-5-20251001 |
| RAG_RERANKER_MODEL | No | HuggingFace cross-encoder model. Default: Xenova/ms-marco-MiniLM-L-6-v2 | Xenova/ms-marco-MiniLM-L-6-v2 |
| REQUEST_TIMEOUT_MS | No | API request timeout. Default: 30000 | 30000 |
| RAG_FTS_COOLDOWN_MS | No | How long to wait before retrying FTS after hitting the failure limit. Default: 300000 (5 min) | 300000 |
| RAG_HYDE_EXPANSIONS | No | Number of expanded queries to generate. Default: 2 | 2 |
| RAG_RERANKER_DEVICE | No | Device for the reranker (same options as RAG_EMBEDDING_DEVICE). Default: auto | auto |
| RAG_EMBEDDING_DEVICE | No | Device for running embeddings: auto, cpu, cuda, dml, webgpu, wasm, gpu, webnn. Default: auto | auto |
| RAG_FTS_MAX_FAILURES | No | Full-text search failures before FTS is temporarily disabled. Default: 3 | 3 |
| RAG_RERANKER_ENABLED | No | Turn on cross-encoder reranking for better results. Default: false | false |
| RATE_LIMIT_WINDOW_MS | No | Rate limit time window (ms). Default: 60000 | 60000 |
| RAG_HYDE_API_BASE_URL | No | API endpoint for LLM backend. Default: https://api.anthropic.com | https://api.anthropic.com |
| RATE_LIMIT_MAX_REQUESTS | No | Max requests per window. Default: 100 | 100 |
| RERANKER_INIT_TIMEOUT_MS | No | Timeout for model download and initialization. Default: 600000 (10 min) | 600000 |
| RAG_GROUPING_STD_MULTIPLIER | No | How many standard deviations between groups counts as a relevance gap. Default: 1.5 | 1.5 |
| RAG_HYBRID_CANDIDATE_MULTIPLIER | No | How many extra vector candidates to grab before keyword reranking. Default: 2 | 2 |
| RAG_RERANKER_CANDIDATE_MULTIPLIER | No | Fetch this many extra candidates for the reranker to score. Default: 2 | 2 |
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 |
|---|---|
| query_documentsA | Search your documents using both meaning and exact keyword matching. You can also use advanced syntax:
|
| ingest_fileA | Add a document (PDF, DOCX, TXT, MD, JSON, JSONL) to your knowledge base so you can search it. Use the full file path. If you ingest the same file again, it replaces the old version. You can tag it with metadata like author, domain, or tags. |
| ingest_dataA | Add text content directly instead of from a file. Good for: fetched web pages (format: html), copied text (format: text), or markdown strings (format: markdown). The source identifier lets you update the content later by re-ingesting with the same source. You can add custom metadata too. For files on disk, use ingest_file instead. |
| delete_fileA | Remove a document from your knowledge base. Use filePath for files you added with ingest_file, or source for content you added with ingest_data. You need to provide one or the other. |
| list_filesA | Show all documents in your knowledge base, with file paths and how many chunks each one has. |
| statusA | Check how many documents and chunks you have, the database size, and current settings. |
| feedback_pinA | Mark a search result as relevant for a query. Pinned results get boosted in future searches. Use this when a result was helpful. |
| feedback_dismissB | Mark a search result as irrelevant for a query. Dismissed results get pushed down in future searches. Use this when a result wasn't helpful. |
| feedback_statsA | See your feedback stats: total events, how many results you've pinned, and how many you've dismissed. |
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 9 tools
Each tool has a distinct purpose: querying, ingesting (file vs. data), deleting, listing, status, and feedback actions. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern (e.g., query_documents, ingest_file, delete_file) using lowercase and underscores, making them predictable.
9 tools cover document ingestion, deletion, query, listing, status, and feedback—well-scoped for a RAG server without being too many or too few.
Core CRUD and search are present, with feedback for iterative improvement. Slightly missing direct document content retrieval, but re-ingestion allows updates. Minor gap.