LABSCO SUMMARY
Your documents, your machine, your choice of embedding model.
The default path runs entirely locally — a Hugging Face embedding model, an index on disk, no API key — which is the whole reason to pick this over a hosted retrieval service for personal or sensitive material. If you would rather trade privacy for quality, one environment variable points it at an OpenAI-compatible endpoint instead. Index before you connect: the server queries an index, it does not build one on the fly.
What it is
A local MCP server implementing retrieval-augmented generation over a directory you index yourself, using sentence window retrieval so answers come back with usable surrounding context.
What you get
- Indexing across txt, md, pdf, doc and docx
- Sentence window retrieval, which returns the neighbouring text around a hit rather than an isolated chunk
- A choice of embeddings: a local Hugging Face model by default (BAAI/bge-large-en-v1.5), or any OpenAI-compatible endpoint
- An indexer you drive from the command line, with
--chunk-sizeand--embed-modelto tune it - Two transports: stdio for a client-launched server, or SSE listening on http://localhost:8001/ragnar
- A description you set yourself, which is what the client shows when it lists this server's purpose
Requirements
Python 3.10+ and the uv package manager. Index first with python -m indexer.index /path/to/documents /path/to/index. For MCP querying, INDEX_ROOT and MCP_DESCRIPTION are both mandatory; EMBED_ENDPOINT and EMBED_MODEL are optional and default to the local model. Licensed GPLv3.
Setup effort
Build from source — git clone https://github.com/bixentemal/mcp-ragnar
USE CASES
01
Searching your own reference library
Index the folder once, then ask questions and get answers grounded in those documents.
02
Keeping sensitive documents off third-party servers
Leave the embedding endpoint unset so the local model does the work.
03
Improving weak retrieval
Re-index with a different chunk size or embedding model rather than rewriting your questions.
BEFORE YOU INSTALL
What to know first
Requires
Python 3.10+
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
TERMINAL
git clone https://github.com/bixentemal/mcp-ragnar
cd mcp-ragnar
uv pip install -e .
uv tool install .