Local RAG
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_PATH | No | Vector database storage location. Can grow large with many documents. | ./lancedb/ |
| BASE_DIR | No | Document root directory. Server only accesses files within this path (prevents accidental system file access). | . |
| CACHE_DIR | No | Model cache directory. After first download, model stays here for offline use. | ./models/ |
| CHUNK_SIZE | No | Characters per chunk. Larger = more context but slower processing. Valid range: 128 - 2048. | 512 |
| MODEL_NAME | No | HuggingFace model identifier. Must be Transformers.js compatible. | Xenova/all-MiniLM-L6-v2 |
| CHUNK_OVERLAP | No | Overlap between chunks. Preserves context across boundaries. Valid range: 0 - (CHUNK_SIZE/2). | 100 |
| MAX_FILE_SIZE | No | Maximum file size in bytes. Larger files rejected to prevent memory issues. Valid range: 1MB - 500MB. | 104857600 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| query_documentsA | Search ingested documents. Your query words are matched exactly (keyword search). Your query meaning is matched semantically (vector search). Preserve specific terms from the user. Add context if the query is ambiguous. Results include score (0 = most relevant, higher = less relevant). |
| ingest_fileA | Ingest a document file (PDF, DOCX, TXT, MD) into the vector database for semantic search. File path must be an absolute path. Supports re-ingestion to update existing documents. |
| ingest_dataA | Ingest content as a string, not from a file. Use for: fetched web pages (format: html), copied text (format: text), or markdown strings (format: markdown). The source identifier enables re-ingestion to update existing content. For files on disk, use ingest_file instead. |
| delete_fileA | Delete a previously ingested file or data from the vector database. Use filePath for files ingested via ingest_file, or source for data ingested via ingest_data. Either filePath or source must be provided. |
| list_filesA | List all files in BASE_DIR (PDF, DOCX, TXT, MD) and show which are ingested into the vector database. Also lists any other ingested items (web pages, clipboard content, etc.) that are outside BASE_DIR. |
| statusA | Get system status including total documents, total chunks, database size, and configuration information. |
| read_chunk_neighborsA | Expand a query_documents result by reading the chunks immediately before and after it in the same document. Use when the hit needs more surrounding context — for example, a definition without its example, or a conclusion without its reasoning. Pass chunkIndex from the query_documents result, along with the document's filePath (from ingest_file) or source (from ingest_data). Returns the target chunk (isTarget: true) plus neighbors, sorted ascending by chunkIndex. Out-of-range indices are silently clamped to existing chunks. Defaults: before=2, after=2 (max 50 each). Provide exactly one of filePath or source. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shinpr/mcp-local-rag'
If you have feedback or need assistance with the MCP directory API, please join our Discord server