Token导航 LogoToken导航

MCP Server · 搜索检索

Pdf Search MCP

基于CrewAI的PDFSearchTool构建的轻量级模型上下文协议(MCP)服务器和CLI工具,支持通过自定义嵌入/Qdrant堆栈对PDF进行索引和语义搜索。

stdio官方级别未说明来源级核验工具 1
搜索Python文档处理

快速开始

作者 / 组织
DRanger666
提供方
DRanger666

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Pdf Search MCP 属于搜索检索类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

搜索检索

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e .

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

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

PDF搜索MCP服务器

封装CrewAI的轻量级模型上下文协议(MCP)服务器和CLI工具 PDFSearchTool 因此,您可以使用自己的嵌入/Qdrant堆栈对PDF进行索引和语义搜索。

组件

  • MCP服务器 (pdfsearch.mcp_pdfsearch):暴露a search_pdf 该工具验证输入的PDF,确保配置的Qdrant集合存在,并运行CrewAI搜索。
  • CLI线束 (scripts/test_pdfsearch_tool.py):面向开发人员的脚本,可以对PDF进行指纹识别,记录缓存元数据,跳过缓存命中的重新摄取,并允许您在没有使用MCP的客户端的情况下运行即席查询。
  • 缓存助手 (src/pdfsearch/cache.py):计算SHA-256哈希值的共享实用程序,按PDF集合名称导出(pdf_),将元数据持久化 ~/.cache/pdf_search_mcp/cache.json,并跟踪PDF是否已被索引(步骤 1–3 缓存卷展栏)。

需求

  • Python 3.8+
  • 访问CrewAI支持的嵌入服务提供商(推荐VoyageAI)
  • 可访问的Qdrant实例(云或自托管)

安装

pip install -e .
cp .env.example .env
# populate .env with your real credentials

配置

Config (src/pdfsearch/config.py)读取以下环境变量:

变量必填备注
EMBEDDER_PROVIDER必填例如。 voyageai, openai等等。
EMBEDDER_MODEL必需特定于提供商的型号ID(例如。 voyage-code-3).
EMBEDDER_API_KEY有条件的非Voyage提供商需要。
EMBEDDINGS_VOYAGEAI_API_KEY有条件的\*需要时 EMBEDDER_PROVIDER=voyageai;自动覆盖 EMBEDDER_API_KEY.
QDRANT_URL必需Qdrant服务的HTTPS URL或本地终结点。
QDRANT_API_KEY可选托管Qdrant部署需要。
VECTOR_SIZE必需嵌入的整数维度。
VECTOR_DISTANCE必填其中之一 Cosine, Euclid, Dot等等。(比赛 qdrant_client.models.Distance).
LOG_LEVEL可选默认为 INFO.
提示: .env.example 枚举服务器期望的每个变量。复制到 .env,填写您的值,CLI/MCP服务器将通过以下方式加载它 python-dotenv.

运行CLI线束

python scripts/test_pdfsearch_tool.py \
  --pdf sample_pdfs/manual.pdf \
  --query "explain the architecture" \
  --limit 5 \
  --similarity-threshold 0.6 \
  --format pretty

它的作用:

  1. 负载 .env,验证PDF(扩展名+ %PDF- 头球
  2. 计算PDF哈希值并导出Qdrant集合名称(pdf_).
  3. 在中记录缓存元数据(路径、哈希、集合、摄取标志) ~/.cache/pdf_search_mcp/cache.json.
  4. 初始化 PDFSearchTool 使用embeddings+Qdrant配置,并强制适配器使用派生集合。
  5. 在第一次运行时,将PDF摄取到Qdrant中,并将缓存条目标记为索引;当缓存显示PDF已被索引时,后续运行跳过摄取并重用现有向量。
  6. 使用适配器的低级发出相似性搜索 client.search() 用于结构化结果的API(包括 chunk_index、标准化得分和Qdrant point_id).
重置集合:如果需要重新摄取(例如,在删除Qdrant集合后),请从中删除哈希条目 ~/.cache/pdf_search_mcp/cache.json 或切换其 "indexed" 旗帜到 false 在重新运行CLI之前。

运行MCP服务器

pdf-search-mcp
# or
python -m pdfsearch.mcp_pdfsearch

服务器注册了一个MCP工具:

工具描述Args
search_pdf通过CrewAI验证/摄取PDF并运行语义搜索pdf_path (字符串,必填), query (字符串,必填)

在内部,服务器引导共享 PDFSearchTool 反对 pdf_search_bootstrap 收集以在启动时验证配置,然后将其重新用于传入的工具调用。

缓存推出

看 docs/caching_rollout_plan.md 对于从简单的指纹识别(已实现)到每个PDF集合、摄取跳过、CLI缓存检查、并发保护,并最终与MCP服务器共享缓存逻辑的分阶段计划。

当前状态:

  • Step 1 complete:哈希+JSON缓存助手(src/pdfsearch/cache.py).
  • Step 2 完整:确定性集合名称+适配器重定向。
  • Step 3 complete:CLI中的缓存感知摄取跳过(除非重置缓存,否则每个PDF集合只填充一次)。
  • Step 4 除此之外(CLI缓存检查/清除标志、锁定、MCP重用)仍在路线图上。

开发说明

  • 传统的pytest脚手架现在存在 legacy_tests/;它是 不 已连接到活动测试套件,但保留以供参考。看 docs/notes/legacy_testing_strategy.md 用于原始测试视觉。
  • docs/notes/gpt_codex_debugging.md 捕获CrewAI vectordb配置期望的调试研究。
  • 默认情况下忽略示例PDF(sample_pdfs/ 在 .gitignore);添加您自己的用于本地测试。

故障排除

  • ValueError: EMBEDDER_PROVIDER environment variable is required –确保 .env 已加载(CLI使用 python-dotenv)并且设置变量。
  • File does not appear to be a valid PDF –验证器检查 %PDF- 头球如果生成的PDF不正确,请再次导出/下载。
  • Qdrant收集错误 –配置层调用 client.get_or_create_collection(...).验证 VECTOR_SIZE, VECTOR_DISTANCE,以及 QDRANT_URL/API key 匹配您的部署。
  • 多次运行后重复块 –删除Qdrant中的每个PDF集合(例如。, curl -X DELETE http:///collections/pdf_) *和* 删除或编辑中的匹配条目 ~/.cache/pdf_search_mcp/cache.json 所以 "indexed" 成为 false 在重新运行CLI之前。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

PDF搜索Python本地部署语义搜索文档处理Qdrant集成CrewAI工具

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

典型使用场景

查资料带出处

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

站内知识检索

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

事实核对

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

选择建议

值得选的地方

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

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

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

同类对比

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

MCP World · 本页

1stdio有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 Search MCP 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

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

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

Pdf Search MCP 收费吗?

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

Pdf Search MCP 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Pdf Search MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP