Permite que los clientes de IA busquen en carpetas de documentos locales y verifiquen respuestas comparándolas con el contenido indexado mediante embeddings TF-IDF offline.
También conocido como DevilsDev/rag-pipeline-utils, rag-mcp-server, @devilsdev/rag-mcp-server
- Stars
- 1
- Herramientas
- 4
- Descargas, 30 días
- 2585
- Última versión
- 3.9.1
- Último commit
- 11 nov 2026
- Licencia
- MIT
¿Qué es RAG for your documents MCP?
RAG for your documents es un MCP server. Permite que los clientes de IA busquen en carpetas de documentos locales y verifiquen respuestas comparándolas con el contenido indexado mediante embeddings TF-IDF offline. Expone 4 herramientas, como query, answer, question.
Resumen generado a partir del README del proyecto
Acerca del MCP server de RAG for your documents
Este servidor permite a los desarrolladores que utilizan clientes MCP como Claude Desktop o Cursor buscar en carpetas de documentos locales y verificar las respuestas de la IA contra el contenido indexado. Al apuntar el servidor a un directorio específico, permites que un asistente recupere pasajes relevantes de archivos Markdown, HTML, CSV o de texto. El sistema utiliza un embedder TF-IDF offline y un recuperador en memoria, lo que significa que no requiere claves de API, ni bases de datos externas, ni conexión de red para funcionar.
Los usuarios interactúan con el servidor a través de dos herramientas principales: search_documents y check_answer. La herramienta de búsqueda encuentra pasajes de texto relevantes basados en una consulta en lenguaje natural, mientras que la herramienta de verificación evalúa si una respuesta proporcionada está respaldada por fuentes específicas. Debido a que la indexación ocurre en memoria y se reconstruye al iniciar, el servidor está diseñado para flujos de trabajo locales centrados en la privacidad. Se ejecuta vía stdio y requiere Node.js 22 o posterior para operar.
Qué puedes hacer con él
- 1Recuperar información de archivos localesPide a tu asistente de IA que encuentre detalles específicos dentro de una carpeta de documentación.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar RAG for your documents MCP
Formatos verificados el 10 nov 2026Instalar RAG for your documents MCP en Claude Code
$ claude mcp add rag-mcp-server -- npx -y @devilsdev/rag-mcp-serverInstalar RAG for your documents MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"rag-mcp-server": {
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}Instalar RAG for your documents MCP en VS Code
.vscode/mcp.json
{
"servers": {
"rag-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}Instalar RAG for your documents MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"rag-mcp-server": {
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}Instalar RAG for your documents MCP en Codex
~/.codex/config.toml
[mcp_servers.rag-mcp-server] command = "npx" args = ["-y", "@devilsdev/rag-mcp-server"]
Instalar RAG for your documents MCP en Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"rag-mcp-server": {
"command": "npx",
"args": [
"-y",
"@devilsdev/rag-mcp-server"
]
}
}
}Herramientas de RAG for your documents MCP 4
Detectado desde el READMEqueryanswerquestionsources
| query | — | |
| answer | — | |
| question | — | |
| sources | — |
Verificaciones automáticas
Ejecutado 13 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibledevilsdev/rag-pipeline-utils is public and reachablegithub.com/devilsdev/rag-pipeline-utils ↗Aprobado
- El paquete cita este repositorio como fuente@devilsdev/rag-mcp-server names devilsdev/rag-pipeline-utils as sourcenpmjs.com/package/@devilsdev/rag-mcp-server ↗Aprobado
- Procedencia de la compilación (atestación Sigstore)Sigstore attestation for @devilsdev/rag-mcp-servernpmjs.com/package/@devilsdev/rag-mcp-server/v/3.9.1#provenan ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-11-11github.com/devilsdev/rag-pipeline-utils ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo popular package one edit away from @devilsdev/rag-mcp-serverAprobado
- Sin avisos críticos en el paquete ni en sus dependencias136 resolved dependencies checked; no critical advisoryosv.dev ↗Aprobado
- Sin instrucciones ocultas para el modelo4 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo tool named like delete, drop or execAprobado
- El endpoint remoto responde al handshake MCPNo verificado
README
Ver en GitHub@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/
Preguntas sobre RAG for your documents MCP
¿Cómo agrego RAG for your documents MCP a Claude Code?
Ejecuta claude mcp add rag-mcp-server -- npx -y @devilsdev/rag-mcp-server en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego RAG for your documents MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué herramientas proporciona RAG for your documents MCP?
Expone 4 herramientas, incluidas query, answer, question, sources.
¿Requiere este servidor conexión a internet o claves de API?
No, funciona totalmente offline sin necesidad de claves de API ni bases de datos.
¿Cómo funciona la verificación de respuestas?
La verificación es léxica y no realiza llamadas al modelo, lo que significa que compara el texto directamente en lugar de usar un LLM para juzgarlo.
¿Cuáles son los requisitos del sistema?
Debes tener instalado Node.js versión 22 o posterior.