LabscoMCP early access ↗
bixentemalMCP SERVER

MCP-RAGNAR

Ask questions against your own documents — local RAG with sentence-window retrieval, no cloud required.

by bixentemal ↗Vector Stores & RAG RetrievalCommunity

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-size and --embed-model to 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