Token导航 LogoToken导航

MCP Server · 搜索检索

Pdf Vectordb MCP

一个提供PDF文档检索增强生成(RAG)功能的MCP服务器,能够自动索引PDF文件,生成嵌入向量,存储于ChromaDB,并为LLM提供语义搜索工具。

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

快速开始

作者 / 组织
skyve-dev
提供方
skyve-dev
运行时
Python

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Pdf Vectordb MCP 属于搜索检索类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

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

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

PDF矢量数据库MCP服务器

一种模型上下文协议(MCP)服务器,为PDF文档提供RAG(检索增强生成)功能。该服务器自动索引PDF文件,使用句子转换器(全mpnet-base-v2)生成嵌入,将其存储在ChromaDB中,并为LLM提供语义搜索工具以查询文档。 不需要API密钥-一切都在本地运行!

特性

  • 自动PDF索引:监视文件夹并自动为新的/修改的PDF建立索引
  • 语义搜索:使用自然语言查询文档
  • 来源引用:返回包含文档名称和页码的结果
  • 多种MCP工具:查询、列出和管理索引文档
  • ChromaDB矢量存储:具有持久性的高效本地矢量数据库
  • 本地嵌入:使用语句转换器(all-mpnet-base-v2)-不需要API密钥!
  • 100%隐私:所有内容都在您的机器上运行,不依赖于云
  • 完全免费:无API成本,无订阅
  • 离线功能:初始设置后无需互联网即可工作
  • 文件监视:实时监控和重新索引PDF更改
  • 智能分块:智能文本分割与重叠,以获得更好的上下文

为什么选择此服务器?

✅ 不需要API密钥 -立即开始使用 ✅ 100%本地和私人 -您的数据永远不会离开您的机器 ✅ 零成本 -完全自由运行 ✅ 高质量 -全mpnet-base-v2可生成出色的768维嵌入 ✅ 离线优先 -模型下载后无需互联网即可使用(一次性约420MB)

建筑

pdf-vectordb-mcp/
├── src/
│   ├── config.py              # Configuration management
│   ├── pdf_processor.py       # PDF extraction and chunking
│   ├── embeddings.py          # OpenAI embedding generation
│   ├── vector_store.py        # ChromaDB operations
│   ├── file_watcher.py        # File system monitoring
│   ├── mcp_server.py          # MCP server implementation
│   └── utils.py               # Helper functions
├── data/
│   ├── pdfs/                  # Place your PDF files here
│   └── chroma_db/             # ChromaDB persistence
├── requirements.txt
├── .env                       # Your configuration
└── README.md

安装

先决条件

  • Python 3.10或更高版本
  • OpenAI API密钥

设置步骤

  1. 克隆或下载此存储库
  1. 创建虚拟环境
python -m venv venv

# On Windows
venv\Scripts\activate

# On macOS/Linux
source venv/bin/activate
  1. 安装依赖项
pip install -r requirements.txt
  1. 配置环境变量

复制 .env.example 到 .env 并填写您的设置:

cp .env.example .env

编辑 .env 根据您的配置:

OPENAI_API_KEY=sk-your-openai-api-key-here
PDF_FOLDER=./data/pdfs
CHROMA_DB_PATH=./data/chroma_db
EMBEDDING_MODEL=text-embedding-3-small
CHUNK_SIZE=800
CHUNK_OVERLAP=200
DEFAULT_TOP_K=5
LOG_LEVEL=INFO
  1. 添加您的PDF文件

将PDF文件放入 data/pdfs/ 文件夹。服务器启动时,它们将被自动索引。

用法

运行MCP服务器

python -m src.mcp_server

服务器将:

  1. 验证您的配置
  2. 索引中的任何现有PDF data/pdfs/ 文件夹
  3. 开始监视文件夹的更改
  4. 启动MCP服务器,准备接受工具调用

连接到克劳德桌面

将此配置添加到您的Claude Desktop配置文件中:

在Windows上: %APPDATA%\Claude\claude_desktop_config.json 在 macOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "pdf-vectordb": {
      "command": "python",
      "args": [
        "-m",
        "src.mcp_server"
      ],
      "cwd": "C:\\Users\\arif\\PycharmProjects\\pdf-vectordb-mcp",
      "env": {
        "OPENAI_API_KEY": "your-openai-api-key-here"
      }
    }
  }
}

更新 cwd 路径以匹配您的项目位置。

MCP工具

1.查询_文档

使用自然语言搜索索引的PDF文档。

参数:

  • query (必填):自然语言搜索查询
  • top_k (可选):要返回的结果数(默认值:5)
  • document (可选):将结果筛选到特定文档

例子:

Query: "What are the key findings about climate change?"

退货:

  • 带有源引用的相关文本块
  • 页码和文件名
  • 相关性得分

2.列表_文档

列出所有带有统计信息的索引PDF文档。

参数: 无

退货:

  • 文件名称
  • 每份文档的页数
  • 每个文档的块数

3.获取文档信息

获取特定文档的详细信息。

参数:

  • document (必填):文件名称

退货:

  • 总页数
  • 块总数
  • 页码列表

4.重新索引_文档

手动触发特定PDF的重新索引。

参数:

  • document (必填):PDF文件的名称

使用案例:

  • 手动编辑后强制重新处理
  • 从索引错误中恢复

5.get_system_stats

获取整体系统统计数据和配置。

参数: 无

退货:

  • 文档和块总数
  • 当前配置设置
  • 文件监视器状态

配置选项

环境变量

变量描述默认值
OPENAI_API_KEY您的OpenAI API密钥必需
PDF_FOLDER包含PDF的目录./data/pdfs
CHROMA_DB_PATHChromaDB存储位置./data/chroma_db
EMBEDDING_MODELOpenAI嵌入模型text-embedding-3-small
CHUNK_SIZE每块字符数800
CHUNK_OVERLAP重叠字符200
DEFAULT_TOP_K默认搜索结果5
LOG_LEVEL日志记录级别INFO

分块策略

该系统使用智能组块,包括:

  • 断句:更喜欢在句末打断
  • 单词边界回退:回到单词边界
  • 重叠:跨块维护上下文
  • 元数据保存:跟踪文档名称、页码、块索引

运作原理

1.PDF处理流水线

PDF File → Text Extraction → Smart Chunking → Embedding Generation → Vector Store
  1. 文本提取:使用pypdf逐页提取文本
  2. 清洁:删除工件并规范空白
  3. 分块:将文本分割成重叠的块
  4. 嵌入:为每个块生成OpenAI嵌入
  5. 存储:将元数据存储在ChromaDB中

2.查询管道

Query → Generate Embedding → Similarity Search → Rank Results → Return with Sources
  1. 查询嵌入:将查询转换为向量
  2. 相似性搜索:使用余弦相似度查找相似块
  3. 排名:按相关性得分排序
  4. 消息来源:包括文件和页面信息

3.文件监视

服务器监控PDF文件夹并:

  • 关于创建:自动为新PDF建立索引
  • 关于修改:重新索引已更改的PDF
  • 删除时:从矢量存储中删除
  • 防抖:等待文件写入完成

高级用法

自定义嵌入模型

您可以使用不同的OpenAI嵌入模型:

# Smaller, faster, cheaper
EMBEDDING_MODEL=text-embedding-3-small

# Larger, more accurate, more expensive
EMBEDDING_MODEL=text-embedding-3-large

调整块大小

对于不同的文档类型:

# Technical documents with dense information
CHUNK_SIZE=500
CHUNK_OVERLAP=100

# Narrative documents
CHUNK_SIZE=1000
CHUNK_OVERLAP=200

批量重新索引

要重新索引所有文档,请执行以下操作:

  1. 停止服务器
  2. 删除 data/chroma_db/ 文件夹
  3. 重新启动服务器

故障排除

PDF未被索引

  • 检查PDF是否在正确的文件夹中(data/pdfs/)
  • 确保PDF不受密码保护
  • 检查日志中的提取错误
  • 验证文件权限

OpenAI API错误

  • 验证您的API密钥是否正确
  • 检查您的OpenAI帐户是否有可用积分
  • 如果处理许多文档,请查看速率限制

ChromaDB问题

  • 确保 data/chroma_db/ 目录可写
  • 检查磁盘空间
  • 尝试删除并重新创建数据库

内存问题

对于大型PDF集合:

  • 分批处理
  • 增加系统RAM
  • 使用较小的块大小

发展

运行测试

pytest tests/

日志记录

日志将写入:

  • 控制台输出
  • pdf_vectordb_mcp.log 文件

在中调整日志级别 .env:

LOG_LEVEL=DEBUG  # For detailed debugging
LOG_LEVEL=INFO   # Normal operation
LOG_LEVEL=WARNING # Only warnings and errors

性能注意事项

嵌入成本

OpenAI嵌入成本(截至2024年):

  • text-embedding-3-small:每100万代币约0.02美元
  • text-embedding-3-large:每100万代币约0.13美元

一个典型的PDF页面(约500字)的嵌入成本不到0.001美元。

处理速度

  • PDF提取:每份文档约1-2秒
  • 嵌入生成:每批约1-2秒(100个块)
  • 矢量存储:每份文档约0.1秒

存储

  • ChromaDB:每块约1-2KB
  • 一个100页的PDF通常会生成200-400个块(~400-800KB)

局限性

  • PDF支持:仅基于文本的PDF(扫描文档无OCR)
  • 语言:最适合英语(取决于嵌入模型)
  • 文件大小:处理大型PDF(>1000页)可能需要时间
  • 并发访问:单服务器架构

未来的增强功能

潜在改进:

  • 扫描PDF的OCR支持
  • 桌子提取和特殊处理
  • 图像/图表说明
  • 多模态嵌入
  • 混合搜索(矢量+关键字)
  • 使用交叉编码器重新排序
  • 查询扩展和重写
  • 文档摘要工具
  • 支持其他文档格式(Word等)

许可证

MIT许可证-您可以根据需要自由使用和修改。

贡献

欢迎投稿!请随时提交问题和拉取请求。

支持

对于问题和疑问:

  1. 检查故障排除部分
  2. 查看登录 pdf_vectordb_mcp.log
  3. 在GitHub上打开一个问题

致谢

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

PDF处理Python本地部署语义搜索向量数据库检索增强生成

支持客户端

Claude DesktopClaude

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

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

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

MCP World · 本页

5stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

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

常见问题

5 条

Pdf Vectordb MCP 怎么安装?

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

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

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

Pdf Vectordb MCP 收费吗?

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

Pdf Vectordb MCP 需要 API Key 吗?

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

Pdf Vectordb MCP 支持哪些客户端?

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

来源信息

继续浏览同类 MCP