
sfrangulov/minirag-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Локально-первый сервер RAG MCP в Python: гибридный поиск (семантический + повышение ключевых слов BM25) по вашим собственным документам. 11 инструментов MCP + CLI, проглатывание пометки для 12 форматов, многоязычные встраивания, LanceDB.
Обзор
Сервер MCP локального первого поколения RAG (retrieval-augmented generation). Направьте его в папку документов, и он даст вашему клиенту MCP (Claude Code, Cursor, Codex, ...) гибридный поиск — семантическое векторное сходство плюс повышение ключевых слов для точных терминов — по этому контенту. Ничто не оставляет вашу машину, кроме двух вещей: одноразовая загрузка модели встраивания при первом использовании и явный вызов ingest url, когда вы просите его принести веб-страницу. Проглатывание локальных файлов, индексация и запрос никогда не касаются сети. Это Python, MCP-родной аналог shinpr/mcp-local-rag (TypeScript), построенный на fastmcp, fastembed и LanceDB. - векторное сходство (fastembed/ONNX), слитое с ранжированием ключевых слов (LanceDB BM25 полнотекстовый поиск) по взвешенному взаимному слиянию рангов, поэтому точные идентификаторы и коды ошибок появляются вместе с семантически похожими проходами.
Обзор (машинный перевод)
Сервер MCP локального первого поколения RAG (retrieval-augmented generation). Укажите на это в папка с документами и она выдает ваш MCP-клиент (Claude Code, Cursor, Codex, …) гибридный поиск — семантическое векторное сходство плюс повышение ключевого слова для Точные термины — по этому содержанию.
Ничто не покидает вашу машину, кроме двух вещей: одноразовой модели встраивания. При первом же нажатии на него, при первом нажатии, при первом нажатии. Возьмите веб-страницу. Проглатывание локальных файлов, индексация и запрос никогда не касаются Сеть.
Это Python, MCP-родной аналог shinpr/mcp-local-rag (TypeScript) построенный на Fastmcp, быстродействующий и ЛэнсДБ.
Особенности
Гибридный поиск — векторное сходство (fastembed/ONNX), слитое с ключевым словом
ранжирование (LanceDB BM25 полнотекстовый поиск) по взвешенному взаимному слиянию рангов,
Точные идентификаторы и коды ошибок появляются вместе с семантически похожими
проходы.
** Каждое упоминание, подсчитанное ** — find_mentions перечисляет каждый документ, который
содержит слово или фразу, а не несколько лучших, и говорит, сколько документов это
поиск, поэтому «перечислите все», «сколько» и «есть не там» получают полное
Отвечай. Смотреть все упоминания.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
minirag-mcp
A local-first RAG (retrieval-augmented generation) MCP server. Point it at a folder of documents and it gives your MCP client (Claude Code, Cursor, Codex, …) hybrid search — semantic vector similarity plus a keyword boost for exact terms — over that content.
Nothing leaves your machine except two things: the one-time embedding-model
download on first use, and the explicit ingest_url call when you ask it to
fetch a web page. Ingesting local files, indexing, and querying never touch
the network.
It is a Python, MCP-native analog of shinpr/mcp-local-rag (TypeScript), built on fastmcp, fastembed, and LanceDB.
Features
- Hybrid search — vector similarity (fastembed/ONNX) fused with keyword ranking (LanceDB BM25 full-text search) by weighted Reciprocal Rank Fusion, so exact identifiers and error codes surface alongside semantically similar passages.
- Every mention, counted —
find_mentionslists every document that contains a word or phrase, not the top few, and says how many documents it searched, so “list all”, “how many” and “it is not there” get a complete answer. See Finding every mention. - Look-alike documents named — a result whose document shares most of its text with other indexed documents, such as another version of it or a sibling from the same template, names them and how much text they share. See Look-alike documents.
- Filenames are searchable — keyword search covers document titles as well as body text, and an informative filename becomes the document’s title when the document’s own heading is boilerplate. In many real document sets the filename is the only place the document code and subject appear at all. See Titles and filenames.
- Multilingual by default — the default embedding model covers 50+ languages, so English and Russian corpora both work out of the box.
- Converted once, not re-read every chat — a PDF handed to an assistant is read again, page by page, in every new conversation, and scanned pages cost the most. Here each document is converted (and OCRed) once at ingest, and a question brings back only the sections that answer it, so it costs those sections rather than the whole file.
Установка
uvx minirag-mcpКонфигурация
{
"mcpServers": {
"minirag": {
"command": "/absolute/path/to/uvx",
"args": ["minirag-mcp"],
"env": {
"BASE_DIR": "/absolute/path/to/docs"
}
}
}
}