Ermöglicht es AI-Clients, lokale Dokumentenordner zu durchsuchen und Antworten mithilfe von Offline-TF-IDF-Embeddings gegen den indizierten Inhalt zu verifizieren.
Auch bekannt als DevilsDev/rag-pipeline-utils, rag-mcp-server, @devilsdev/rag-mcp-server
- Stars
- 1
- Tools
- 4
- Downloads, 30 Tage
- 2.585
- Neueste Version
- 3.9.1
- Letzter Commit
- 11. Nov. 2026
- Lizenz
- MIT
Was ist RAG for your documents MCP?
RAG for your documents ist ein MCP server. Ermöglicht es AI-Clients, lokale Dokumentenordner zu durchsuchen und Antworten mithilfe von Offline-TF-IDF-Embeddings gegen den indizierten Inhalt zu verifizieren. Er stellt 4 Tools bereit, etwa query, answer, question.
Zusammenfassung generiert aus dem README des Projekts
Über RAG for your documents MCP server
Das Durchsuchen lokaler Dokumentenordner und das Verifizieren von AI-Antworten gegen indizierte Inhalte ist das, was dieser Server für Entwickler ermöglicht, die MCP-Clients wie Claude Desktop oder Cursor nutzen. Indem du den Server auf ein bestimmtes Verzeichnis richtest, erlaubst du einem Assistenten, relevante Passagen aus Markdown-, HTML-, CSV- oder Textdateien abzurufen. Das System nutzt einen Offline-TF-IDF-Embedder und einen In-Memory-Retriever, was bedeutet, dass für den Betrieb keine API-Keys, keine externe Datenbank und keine Netzwerkverbindung erforderlich sind.
Nutzer interagieren mit dem Server über zwei primäre Tools: search_documents und check_answer. Das Search-Tool findet relevante Textpassagen basierend auf einer Anfrage in natürlicher Sprache, während das Check-Tool bewertet, ob eine bereitgestellte Antwort durch spezifische Quellen gestützt wird. Da die Indizierung im Arbeitsspeicher erfolgt und beim Start neu aufgebaut wird, ist der Server für lokale, datenschutzorientierte Workflows konzipiert. Er läuft via stdio und benötigt Node.js 22 oder höher.
Was du damit machen kannst
- 1Informationen aus lokalen Dateien abrufenLass deinen AI-Assistenten spezifische Details innerhalb eines Ordners mit Dokumentationen finden.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du RAG for your documents MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügenRAG for your documents MCP in Claude Code installieren
$ claude mcp add rag-mcp-server -- npx -y @devilsdev/rag-mcp-serverRAG for your documents MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"rag-mcp-server": {
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}RAG for your documents MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"rag-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}RAG for your documents MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"rag-mcp-server","type":"stdio","command":"npx","args":["-y","@devilsdev/rag-mcp-server"]}'RAG for your documents MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"rag-mcp-server": {
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}RAG for your documents MCP in Codex installieren
$ codex mcp add rag-mcp-server -- npx -y @devilsdev/rag-mcp-serverRAG for your documents MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.rag-mcp-server] command = "npx" args = ["-y", "@devilsdev/rag-mcp-server"]
RAG for your documents MCP in Gemini CLI installieren
$ gemini mcp add -s user rag-mcp-server npx -- -y @devilsdev/rag-mcp-serverRAG for your documents MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"rag-mcp-server": {
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}RAG for your documents MCP tools 4
Erkannt aus dem READMEqueryanswerquestionsources
| query | — | |
| answer | — | |
| question | — | |
| sources | — |
Automatisierte Checks
Geluften am 13. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbardevilsdev/rag-pipeline-utils is public and reachablegithub.com/devilsdev/rag-pipeline-utils ↗Bestanden
- Paket nennt dieses Repository als Quelle@devilsdev/rag-mcp-server names devilsdev/rag-pipeline-utils as sourcenpmjs.com/package/@devilsdev/rag-mcp-server ↗Bestanden
- Build-Provenienz (Sigstore-Attestierung)Sigstore attestation for @devilsdev/rag-mcp-servernpmjs.com/package/@devilsdev/rag-mcp-server/v/3.9.1#provenan ↗Bestanden
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit or release 2026-11-11github.com/devilsdev/rag-pipeline-utils ↗Bestanden
- OpenSSF ScorecardNicht geprüft
- Package-Name ähnelt keinem populären PackageNo popular package one edit away from @devilsdev/rag-mcp-serverBestanden
- Keine kritischen Advisories im Paket oder seinen Abhängigkeiten136 resolved dependencies checked; no critical advisoryosv.dev ↗Bestanden
- Keine versteckten Anweisungen an das Modell4 tool descriptions and the README read; no override phrases, credential paths or hidden charactersBestanden
- Destruktive Tools sind markiertNo tool named like delete, drop or execBestanden
- Remote-Endpoint beantwortet den MCP-HandshakeNicht geprüft
README
Auf GitHub ansehen@devilsdev/rag-mcp-server
An MCP server for your documents. Point it at a folder and Claude, or any other MCP client, can search the documents and check answers against them:
npx @devilsdev/rag-mcp-server ./docs
It indexes the folder when it starts, with the offline TF-IDF embedder and an in-memory retriever from @devilsdev/rag-pipeline-utils. It needs no API key, no database and no network. The assistant is the language model, so the server never calls one.
Requires Node.js 22 or later.
Connect a client
The server speaks MCP over stdio, so the client starts it. Use an absolute path to your folder.
Claude Code:
claude mcp add docs -- npx -y @devilsdev/rag-mcp-server /absolute/path/to/docs
Claude Desktop, Cursor and other clients that use an mcpServers config (for Claude Desktop: Settings → Developer → Edit Config, then restart):
{
"mcpServers": {
"docs": {
"command": "npx",
"args": ["-y", "@devilsdev/rag-mcp-server", "/absolute/path/to/docs"]
}
}
}
Then ask something your documents answer, such as "How many vacation days do employees get?".
Tools
search_documents
| Input | Type | Description |
|---|---|---|
query |
string, required | What to look for, in natural language (at most 10,000 characters, or --max-question-chars) |
topK |
integer, 1–20 | Passages to return (default 4, or --top-k) |
Returns { passages: [{ id, source, score, text }] }, best first, as structured content and as JSON text. source is the file relative to the folder and id is <source>#<chunk number>. Passages that share no terms with the query are left out.
check_answer
| Input | Type | Description |
|---|---|---|
answer |
string, required | The answer to check (at most 50,000 characters) |
question |
string | The question it answers; improves retrieval when sources is omitted (at most 10,000 characters) |
sources |
array of strings or { id, text } |
Passages to check against, at most 100, each at most 200,000 characters; omit to search the indexed documents |
topK |
integer, 1–20 | Passages to retrieve when sources is omitted |
Runs the library's checkAnswer and returns { grounded, groundedness, unsupported, citations, sources }: whether every sentence is supported, the share of supported sentences (0 to 1), the unsupported sentences, the ids of the sources supporting each sentence, and the sources that were checked. The check is lexical and makes no model calls, so a correct paraphrase can come back unsupported; treat it as a flag to look again, not a verdict.
Both tools are read-only. Passage text is content from your files, and the tool descriptions tell the client to treat it as data, not instructions. A file can still contain text written to manipulate an assistant, so index folders you trust.
Files
Markdown (.md, .markdown), HTML (.html, .htm, visible text only), CSV (.csv, one passage per row) and text (.txt) files, in the folder and its subfolders, handled the way the library's loaders handle them; prose is split into sentence chunks of up to 500 characters. Other files, node_modules and .git are skipped. The index lives in memory and is rebuilt each time the server starts, so restart the client's server after changing the documents.
Options
rag-mcp-server <folder> [--top-k <n>] [--embedder local] [--max-answer-chars <n>]
[--max-source-chars <n>] [--max-question-chars <n>] [--max-sources <n>]
[--max-clause-pairs <n>] [--max-sentence-source-chars <n>] [--check-timeout-ms <n>]
[--max-concurrent-checks <n>]
| Option | Default | Meaning |
|---|---|---|
--top-k <n> |
4 |
Passages per call when the client doesn't pass topK |
--embedder <name> |
local |
The embedder; local (TF-IDF, offline) is the only one |
--max-answer-chars <n> |
50000 |
Longest answer check_answer accepts (env RAG_MCP_MAX_ANSWER_CHARS) |
--max-source-chars <n> |
200000 |
Longest source passage check_answer accepts (env RAG_MCP_MAX_SOURCE_CHARS) |
--max-question-chars <n> |
10000 |
Longest question or query (env RAG_MCP_MAX_QUESTION_CHARS) |
--max-sources <n> |
100 |
Most sources per check_answer call (env RAG_MCP_MAX_SOURCES) |
--max-clause-pairs <n> |
2000000 |
Most answer words × source clauses check_answer compares (env RAG_MCP_MAX_CLAUSE_PAIRS) |
--max-sentence-source-chars <n> |
3000000 |
Most answer sentences × source characters check_answer compares (env RAG_MCP_MAX_SENTENCE_SOURCE_CHARS) |
--check-timeout-ms <n> |
10000 |
Longest a check_answer check may run before it is stopped (env RAG_MCP_CHECK_TIMEOUT_MS) |
--max-concurrent-checks <n> |
2 |
Most check_answer checks run at once; up to 8 more wait (env RAG_MCP_MAX_CONCURRENT_CHECKS) |
A tool call over a limit is rejected with an error that names the flag to raise it. A flag wins over its environment variable; each must be a whole number of at least 1. When you build the server in code, createServer(index, { maxAnswerChars, maxSourceChars, maxQuestionChars, maxSources, maxClausePairs, maxSentenceSourceChars, checkTimeoutMs, maxConcurrentChecks }) takes the same limits. maxClausePairs and maxSentenceSourceChars refuse input that would take long to check before checking it. Every check also runs in a worker thread, with at most 512 MB of heap, and is stopped when it runs past checkTimeoutMs; the server keeps answering other calls meanwhile. At most maxConcurrentChecks checks run at once; up to 8 more wait, and time spent waiting doesn't count toward checkTimeoutMs. A call beyond that is refused with "Too many check_answer calls waiting; try again shortly."
Everything the server logs goes to stderr; stdout carries the protocol.
Build your own
For other embedders (OpenAI, Ollama), a persistent index or a vector database, start from the MCP server example, which builds the same kind of server from the library in about 100 lines.
Documentation: https://devilsdev.github.io/rag-pipeline-utils/
RAG for your documents MCP Fragen
Wie füge ich RAG for your documents MCP zu Claude Code hinzu?
Führe claude mcp add rag-mcp-server -- npx -y @devilsdev/rag-mcp-server in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich RAG for your documents MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Welche Tools bietet RAG for your documents MCP?
Er stellt 4 Tools bereit, darunter query, answer, question, sources.
Benötigt dieser Server eine Internetverbindung oder API-Keys?
Nein, er funktioniert vollständig offline und benötigt weder einen API-Key noch eine Datenbank.
Wie funktioniert die Antwortprüfung?
Die Prüfung erfolgt lexikalisch und führt keine Model-Calls aus. Das bedeutet, der Text wird direkt verglichen, anstatt ein LLM für die Bewertung zu nutzen.
Was sind die Systemanforderungen?
Du musst Node.js in der Version 22 oder höher installiert haben.