Token导航 LogoToken导航

MCP Server · 文档知识

Pdf Rag MCP

一个基于FastAPI后端的PDF检索增强生成(RAG)知识库处理系统,支持LanceDB向量搜索、SQLite元数据管理和Chakra UI仪表盘,适用于文档处理和知识管理场景。

stdio官方级别未说明来源级核验工具 0
PDF处理检索增强生成PythonClaude

快速开始

作者 / 组织
tekgnosis-net
提供方
tekgnosis-net
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Pdf Rag MCP 属于文档知识类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

文档知识

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv .venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

PDF RAG MCP服务器

使用队列感知的FastAPI后端、LanceDB矢量搜索、SQLite元数据和Chakra UI仪表板将大量PDF处理到检索增强生成(RAG)知识库中。模型上下文协议(MCP)层将相同的语料库呈现给代理和IDE,因此搜索结果在客户端之间保持一致。

特性

  • 可配置的摄取管道,带有PyMuPDF或Docling解析和本地/OpenAI嵌入。
  • 具有进度回调、SHA-256重复数据删除和元数据丰富功能的有界工作队列。
  • REST、MCP和观察者共享的线程安全SQLite markdown存储库和LanceDB向量存储。
  • 递归目录观察器,用于下一步的删除和进程摄取 /pdfs.
  • 提供REST端点、MCP传输和静态前端资产的统一FastAPI服务器。
  • React+Chakra UI仪表板,用于队列监控和语义搜索。

建筑

src/
  backend/
    api.py           # REST + MCP endpoints and job manager
    processor.py     # Queue, workers, parsing + embedding pipeline
    config.py        # Environment-driven settings
    storage/         # SQLite MarkdownRepository + LanceDB VectorStore
    parsers/         # PyMuPDF and Docling adapters
    embeddings/      # EmbeddingManager (local / OpenAI)
  frontend/
    src/             # React + Chakra UI SPA
    package.json

快速启动

  1. 安装必备组件 –Python 3.11+、Node.js 20+、Docker(可选)、用于GPU摄取的NVIDIA容器工具包。
  2. Bootstrap后端
   python -m venv .venv
   source .venv/bin/activate
   pip install -r requirements.txt
  1. 构建前端
   cd src/frontend
   npm install
   npm run build
  1. 在本地运行
   uvicorn src.backend.api:app --host 0.0.0.0 --port 8000 --reload

对于热重载UI开发,请运行 npm run dev 在 src/frontend (服务http://localhost:5173).否则,FastAPI将服务于 frontend/dist 直接捆绑。

配置

所有设置都是环境驱动的(请参见 .env.sample).

变量默认值用途
PDF_PARSERpymupdf解析器后端(pymupdf 或 docling).
EMBEDDING_BACKENDlocallocal 句子变换器或 openai 远程嵌入。
SENTENCE_TRANSFORMER_MODELsentence-transformers/all-MiniLM-L6-v2本地嵌入模型名称。
EMBEDDING_DEVICEcpucpu 或 cuda;当 cuda,CUDA车轮在运行时安装。
OPENAI_BASE_URL / OPENAI_MODEL / OPENAI_API_KEY–使用远程嵌入时需要。
DATABASE_URLsqlite:///data/markdown.dbSQLite元数据存储。
VECTOR_STORE_PATHdata/vector_storeLanceDB目录。
DATA_DIRdata运行时工件的基本路径。
FRONTEND_DIST_PATHfrontend/distFastAPI提供的静态资产。
PROCESS_WORKERS4工人线程数。
PROCESS_QUEUE_MAXSIZE100背压前排队的最大任务数。
WATCH_ENABLEDtrue切换目录监视器。
WATCH_DIR/pdfs递归扫描根文件夹以查找PDF。
WATCH_POLL_INTERVAL10扫描之间的秒数。
MAX_PROCESS_ATTEMPTS10在文件被列入黑名单之前失败。

存储凭据,例如 OPENAI_API_KEY 在 .env (被git忽略)或平台秘密存储。

处理管道

  1. 排队——上传、观察者发现和同步请求成为 ProcessingTasks在一个有界的队列中。
  2. 工作池——可配置的守护进程线程将任务排成队列,发出生命周期回调,并隔离故障。
  3. 元数据丰富——文件系统统计数据与调用者提供的元数据合并。
  4. 解析-PyMuPDF或Docling生成markdown。
  5. 重复数据消除-SHA-256哈希查找跳过重新摄取相同内容。
  6. 持久性-标记保存到SQLite;嵌入块被分块并添加到具有余弦索引的LanceDB中。

REST端点、MCP工具和观察器都流经此管道,以实现一致的行为。

目录监视器

  • 默认启用(WATCH_ENABLED=true).
  • 递归扫描 WATCH_DIR 为了 *.pdf 文件夹。
  • 在多次故障后跳过已存储或列入黑名单的路径。
  • 将任务添加到共享队列中,以便观察程序处理尊重背压并发出进度事件。
  • 通过设置禁用 WATCH_ENABLED=false 或者通过环境变量调整轮询间隔/重试阈值。

REST+MCP接口

路径方法描述
/api/processPOST上传PDF(多部分)。返回作业描述符。
/api/process/statusGET队列,正在进行、已完成和失败的作业摘要。
/api/searchGET语义搜索(?query=...&top_k=5).
/api/markdownGET通过以下方式获取存储的降价 document_id 或 title.
/.well-known/mcp/serverGETMCP发现文档。
/mcp/tools/query_pdfsPOSTMCP搜索工具({"query": "...", "top_k": 5}).
/mcp/tools/fetch_markdownPOSTMCP工具用于检索降价({"document_id": 1} 或 { "title": "..." }).

Claude桌面配置:

{
  "mcpServers": {
    "pdf-rag": {
      "type": "http",
      "url": "http://localhost:8000"
    }
  }
}

前端仪表板

  • npm run dev –Vite开发服务器,热重载。
  • npm run build –FastAPI提供的生产捆绑包。
  • npm run ci:build –TypeScript类型检查+构建(匹配CI)。

UI公开了一个处理队列选项卡(实时进度、重试、失败)和一个搜索选项卡,用于具有元数据预览的语义查询。

Docker工作流程

# Pull published image (recommended)
docker run --rm -p 8000:8000 ghcr.io/tekgnosis-net/pdf-rag-mcp:latest

# Build locally
docker build -t pdf-rag-mcp .
docker run --rm -p 8000:8000 pdf-rag-mcp

# Docker Compose (uses GHCR image by default)
docker compose up --build

GPU加速:

docker run --rm -p 8000:8000 --gpus all \
  -e EMBEDDING_DEVICE=cuda \
  ghcr.io/tekgnosis-net/pdf-rag-mcp:latest

安装 ./data 到 /app/data 用于持久SQLite/LanceDB存储,并将主机文件夹映射到 /app/data/pdfs 给观察者喂食。

开发工作流程和CI奇偶校验

在推送之前,运行GitHub Actions强制执行的相同检查:

.venv/bin/ruff check .
.venv/bin/pytest -q
(cd src/frontend && npm ci && npm run ci:build)
docker build -t pdf-rag-mcp-local .

这些步骤反映了 Test, Build and Publish 工作流(lint、pytest、前端类型检查/构建、Docker构建)。

故障排除

症状建议的补救措施
sentence_transformers 缺少安装可选依赖项或切换到 EMBEDDING_BACKEND=openai.
Watcher忽略文件确认PDF文件在 WATCH_DIR,未列入黑名单,队列未满。
出现重复条目确保源标记不同;重复数据消除对解析的内容哈希进行操作。
OpenAI错误验证 OPENAI_BASE_URL, OPENAI_MODEL,以及 OPENAI_API_KEY 价值观。
空搜索结果检查嵌入创建日志,并确认LanceDB目录可写。

许可证

麻省理工学院许可证©2025项目贡献者

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

PDF处理Python本地部署检索增强生成知识库管理向量搜索文档解析

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

读长文档提问

把 PDF、Markdown 和笔记交给模型,按章节追问细节。

整理知识库

把零散资料归档、打标签,检索时更容易命中。

批量出摘要

提取要点,输出能直接引用的段落。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在文档知识场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Pdf Rag MCP

MCP World · 本页

0stdio有1 个2026-05-17
Cherry Studio

MCP World

0未说明未标注1 个2026-05-17
Pdf Math Translate

MCP World

0stdio有1 个2026-05-17
report generation

MCP World

0stdio有1 个2026-05-17
Anything To Notebooklm

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Pdf Rag MCP 怎么安装?

公开资料给出的安装命令是 python -m venv .venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Pdf Rag MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Pdf Rag MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Pdf Rag MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Pdf Rag MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP