@devilsdev/rag-mcp-server

中文文档
3.9.1发布于 2026/11/11MITCommonJS构建来源已验证近 30 天下载 2426

您文档的 MCP 服务器: npx @devilsdev/rag- mcp- server./docs 将一个文件夹离线, 并为搜索文件服务, 并在 stdio 上检查答案 .

中文使用文档
文档目录7 节
  1. 连接客户端
  2. 工具
  3. search_documents
  4. check_answer
  5. 文件
  6. 选项
  7. 构建你自己

@devilsdev/rag-mcp-服务器

一个 MCP 磁共振 用于文档的服务器。 Claude或其他MCP客户端可以搜索这些文件

npx @devilsdev/rag-mcp-server ./docs

它在启动时会索引文件夹, 并配有离线的 TF- IDF 嵌入器和一个内存取器 @devilsdev/ rag- pipeline- utils。它不需要 API 键、 数据库和网络。 助手是语言模型,所以服务器从不呼叫一个.

要求节点.js 22或后.

连接客户端

服务器在stdio上说出MCP,所以由客户端启动. 使用您的文件夹的绝对路径 .

克劳德代码 :

claude mcp add docs -- npx -y @devilsdev/rag-mcp-server /absolute/path/to/docs

Claude 桌面、光标和其他客户端 使用一个 mcpServers 配置( 对于 Claude 桌面: 设置 —— 开发者 —— 编辑配置, 然后重新启动) :

{
  "mcpServers": {
    "docs": {
      "command": "npx",
      "args": ["-y", "@devilsdev/rag-mcp-server", "/absolute/path/to/docs"]
    }
  }
}

然后问一些你的文件回答, 比如"雇员有多少假期?".

工具

search_documents

投入类型说明
query需要的字符串用自然语言寻找什么(最多1万个字符,或 --max-question-chars(中文(简体) )
topK整数, 1–20要返回的通道( 默认 4 或 --top-k(中文(简体) )

回返 { passages: [{ id, source, score, text }] },最好先作为结构化内容和JSON文本. source 是相对于文件夹的文件,并且 id 实值 <source>#<chunk number>。与查询没有条件的通道被忽略.

check_answer

投入类型说明
answer需要的字符串检查的答案( 最多50,000个字符)
question字符串它回答的问题; 当 sources 省略(最多为一万个字符)
sources字符串数组或 { id, text }最多为100个,每个最多为20万个字符;省略搜索索引文档
topK整数, 1–20返回时的通道 sources 删除

运行库的 checkAnswer 返回时 { grounded, groundedness, unsupported, citations, sources }:是否支持每个句子,支持句子的比例(0至1),不支持句子,支持每个句子的来源的ID,以及被检查的来源. 检查是名词化的,不做模型调用,所以正确的释法可以不支持地回来;把它当作再看一看的旗帜,而不是判决.

两个工具都是只读的. Passage 文本是您文件中的内容,工具描述告诉客户端将其作为数据,而不是指令. 文件仍然可以包含用于操纵助手的文字,所以索引文件夹是您信任的.

文件

标记下 (M).md, (中文(简体) ), .markdown), HTML (英语:.html, (中文(简体) ), .htm,仅可见文本), CSV (.csv,每行一行)和文本(.txt)文件,在文件夹及其子文件夹中,处理库装入器处理它们的方式;散文被分为句子块,最多可有500个字符. 其他档案, node_modules 财务报告和审定财务报表 .git 被跳过。 索引生活在内存中,每一次服务器启动后都会被重建,因此在修改文档后重新启动客户端的服务器.

选项

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>]
选项默认含义
--top-k <n>4客户不通过时每通电话都通过 topK
--embedder <name>local嵌入器; local (TF-IDF,下线)是唯一一个
--max-answer-chars <n>50000最长 answer check_answer 接受( env ) RAG_MCP_MAX_ANSWER_CHARS(中文(简体) )
--max-source-chars <n>200000最长的源道 check_answer 接受( env ) RAG_MCP_MAX_SOURCE_CHARS(中文(简体) )
--max-question-chars <n>10000最长 question 或者说 query (单位:千美元) RAG_MCP_MAX_QUESTION_CHARS(中文(简体) )
--max-sources <n>100多数 sources 百分比 check_answer 呼叫( env) RAG_MCP_MAX_SOURCES(中文(简体) )
--max-clause-pairs <n>2000000大多数回答单词×源条款 check_answer 比较(env) RAG_MCP_MAX_CLAUSE_PAIRS(中文(简体) )
--max-sentence-source-chars <n>3000000大多数回答句子×源字符 check_answer 比较(env) RAG_MCP_MAX_SENTENCE_SOURCE_CHARS(中文(简体) )
--check-timeout-ms <n>10000最长a check_answer 检查在停止前可能运行 (env) RAG_MCP_CHECK_TIMEOUT_MS(中文(简体) )
--max-concurrent-checks <n>2多数 check_answer 检查一次;最多8次等待(env) RAG_MCP_MAX_CONCURRENT_CHECKS(中文(简体) )

一个超过限制的工具调用被拒绝,错误地命名了升起的旗帜. 一面旗帜胜过其环境变量;每面必须至少为一整数. 当你用代码构建服务器时, createServer(index, { maxAnswerChars, maxSourceChars, maxQuestionChars, maxSources, maxClausePairs, maxSentenceSourceChars, checkTimeoutMs, maxConcurrentChecks }) 相同的限制. maxClausePairs 财务报告和审定财务报表 maxSentenceSourceChars 拒绝需要很长时间才能检查的输入。 每张支票都用一条工线运行,最多512 MB的堆积,一旦通过就会停止 checkTimeoutMs; 服务器同时继续接听其他电话. 最多 maxConcurrentChecks 检查一次; 最多8次等待, 花在等待的时间不算向 checkTimeoutMs。超出这个范围的一个电话被拒绝,“太多的检查/回答电话等待;很快再试一次。”

服务器日志到 stderr 的所有内容; stdout 带有协议 .

构建你自己

对于其他嵌入器(OpenAI, Ollama),一个持久的索引或矢量数据库,从 MCP 服务器实例,它从库中以大约100行建立同一种服务器.

联合国 https://devilsdev.github.io/rag-pipeline-utils/ 页面存档备份,存于互联网档案馆

版本与发布记录

@devilsdev/rag-mcp-server 共发布 12 个版本,首次发布于 2026/11/04;过去 12 个月发布了 12 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.9.1latest2026/11/112 天前
3.9.02026/11/103 天前
3.8.32026/11/094 天前
3.8.22026/11/094 天前
3.8.12026/11/076 天前
3.8.02026/11/067 天前

关于 @devilsdev/rag-mcp-server 的常见问题

@devilsdev/rag-mcp-server 是什么?

您文档的 MCP 服务器: npx @devilsdev/rag- mcp- server./docs 将一个文件夹离线, 并为搜索文件服务, 并在 stdio 上检查答案 .

如何安装 @devilsdev/rag-mcp-server?

在项目目录运行 npm install @devilsdev/rag-mcp-server,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 rag-mcp-server,可以用 npx rag-mcp-server 直接运行。

@devilsdev/rag-mcp-server 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/devilsdev__rag-mcp-server 是否存在。

@devilsdev/rag-mcp-server 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@devilsdev/rag-mcp-server 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@devilsdev/rag-mcp-server 可以商用吗?

@devilsdev/rag-mcp-server 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@devilsdev/rag-mcp-server 的下载量有多少?

根据 npm 官方下载统计,@devilsdev/rag-mcp-server 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,426 次,日均约 81 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@devilsdev/rag-mcp-server 还在维护吗?

最新版本 3.9.1 发布于 2026/11/11(2 天前);至今共发布 12 个版本,其中过去 12 个月发布了 12 个;首次发布于 2026/11/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。