Token导航 LogoToken导航TokenDH.com
Searchless Ngx logo
搜索检索stdio官方级别未说明来源级核验

Searchless Ngx

MCP Server

Searchless-ngx 是一个基于 Model Context Protocol (MCP) 和 Agentic RAG 的智能文档检索服务器,可将 Paperless-ngx 实例从静态关键字存档转换为智能对话代理,允许现代 LLM 原生理解、搜索、过滤和推理文档内容。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
搜索Python文档处理RAG

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

hensing

提供方

hensing

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest

详细介绍

](https://github.com/hensing/searchless-ngx/actions/workflows/ci.yml)

🪄 无搜索ngx

停止搜索您的文档。开始问他们。 无纸化ngx的代理RAG MCP服务器。

少搜索。更多发现。 无搜索ngx将您的无纸ngx实例从基于关键字的静态存档转换为智能的会话代理。通过利用模型上下文协议(MCP)和代理RAG,它允许现代LLM原生地理解、搜索、过滤和推理您的文档。

🤔 关于名字

如果 无纸化 把你从纸质纸的负担中解放出来, 无搜索 将您从手动搜索的负担中解放出来。

  • 无服务器 意味着你不管理服务器。
  • 无密码 意味着你不输入密码。
  • 无搜索 意味着您不再点击过滤器或浏览20页的PDF。你只要问你的助手一个问题,它就会帮你完成繁重的工作。这 -ngx 向使这一切成为可能的不可思议的Paperless ngx项目致敬。

*(注:在引擎盖下,技术服务被命名为 paperless-mcp-server 为AI提供最佳的上下文基础)。*

\[!重要\] 此项目假设您的文档已正确解析(OCR),并在Paperless ngx中分配了高质量的标签。无搜索ngx是一个检索和推理层,而不是一个组织工具。如果您的库需要更好的元数据或自动标记,请查看 无纸化GPT.

✨ 主要特点

  • 代理式检索增强生成:为您的法学硕士配备查询、筛选和汇总个人文档的工具。
  • 混合搜索策略:

- 精确元数据API:利用Paperless ngx强大的过滤功能(标签、通讯员、日期)进行精确检索。 - 语义向量搜索:使用ChromaDB和Gemini嵌入来查找基于以下内容的文档 *意义* 和 *上下文* (例如,“软件订阅”、“食品收据”)。

  • 针对开放式WebUI进行了优化:

- 严格的JSON模式:零 anyOfnull 确保与实验性MCP解析器100%兼容。 - 交互式卡片:搜索结果以漂亮的Markdown卡片形式呈现,带有可点击的标题和元数据。

  • 只读:零破坏性行动。它使用现有的OCR文本,从不下载二进制PDF。
  • 智能同步:启动同步使用水印在几秒钟内仅从Paperless获取新的/更改的文档。定期后台同步(默认值:每15分钟一次,可配置)使索引保持最新。Webhook支持实时摄取单个文档。通过手动完全同步 POST /sync/all.
  • 搜索弹性:主动回退策略可确保LLM即使在初始过滤器限制过大的情况下也能找到文档。

🏗️ 建筑

graph TD
    User([User]) -->|Chat| OWUI(Open WebUI)
    OWUI -->|MCP Streamable HTTP| MCP(FastAPI MCP Server)
    MCP -->|Gemini Embeddings| Chroma[(ChromaDB)]
    MCP -->|"Read-Only API (metadata, content, sync)"| Paperless(Paperless-ngx)
    MCP -->|Paginated Cache| Cache[(In-Memory Metadata)]

    External([Paperless Workflow / External]) -->|POST /webhook/sync| MCP
    Timer([Periodic Sync\nevery 15 min]) -->|bulk_sync_documents| MCP

🚀 设置和安装

1.先决条件

  • Docker&Docker编写
  • 无纸化ngx实例
  • Google Gemini API密钥(用于嵌入和/或LLM)

2.环境配置

复制 .env.example.env 并配置:

cp .env.example .env
变量描述
PAPERLESS_URL您的无纸ngx基本URL
PAPERLESS_TOKEN来自无纸设置的API令牌。
GEMINI_API_KEY用于嵌入的Google GenAI密钥。
PAPERLESS_PUBLIC_URL(可选)聊天中用于可点击链接的URL。默认为 PAPERLESS_URL.
LOG_LEVEL(可选)日志详细程度: INFO (默认)或 DEBUG.
MAX_CHUNKS_PER_DOC(可选)限制每个文档的段数(默认值:100≈25页)。
BULK_SYNC_LIMIT(可选)将初始摄入限制在X个最新文档。
SYNC_INTERVAL_MINUTES(可选)周期性后台同步间隔(分钟)(默认值:15)。吃起来 0 禁用。

3.Docker编写

启动代理并打开WebUI:

docker compose up -d

4.连接到Open WebUI

  1. 打开 http://localhost:8080.
  2. 首选 设置>连接>MCP服务器.
  3. 首选方法:单击导入按钮并选择 scripts/webui-connection.json.
  4. 手动方法:添加类型为的新服务器 MCP Streamable HTTP 和URL http://mcp-server:8001/mcp.

有关Open WebUI的详细说明,请参阅 WEBUI_SETUP.md.

💡 使用示例

列出文档

  • *“列出亚马逊的最后5个文档。”* (使用精确的元数据搜索)
  • *“显示我最近的发票。”* (使用空查询按日期提取)

概念搜索(语义)

  • *“查找我拥有的所有软件订阅。”* (即使标题中没有“订阅”,也会找到“Netflix”、“Adobe”、“Microsoft”)
  • *“我上次去柏林的食物收据在哪里?”* (将位置上下文与文档含义相结合)

数据提取

  • *“2024年2月,我在出行方面花了多少钱?”* (LLM迭代搜索/火车发票并计算总和)
  • *“总结一下我的健身房合同的取消条款。”* (LLM使用 get_document_details 阅读完整的OCR文本)

🛠️ 开发与测试

诊断工具

使用原始协议检查器验证服务器的输出:

docker exec paperless-mcp-server python scripts/test_mcp_raw.py

测试覆盖率

使用以下命令运行测试套件 uv:

uv run pytest

👤 作者

⚖️ 许可证

根据GPLv3许可。

目录标签

目录标签

搜索Python文档处理RAG智能检索本地部署文档管理LLM集成语义搜索

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP