项目简介
该项目实现了一个强大的文档知识库系统,利用PDF处理、向量存储和 Model Context Protocol (MCP) 为PDF文档提供语义搜索能力。它允许用户通过现代Web界面上传、处理和查询PDF文档,也通过MCP协议集成到AI工具(如Cursor)中。
主要功能点
- PDF文档上传与处理: 上传PDF文件,系统自动提取、分块和向量化内容。
- 实时处理状态: 通过WebSocket提供文档处理进度的实时更新。
- 语义搜索: 基于向量存储,实现对已处理文档的语义搜索。
- MCP协议支持: 通过MCP协议向兼容的AI客户端(如Cursor)暴露文档知识库功能。
- 现代Web界面: 提供用户友好的React/Chakra UI界面,用于文档管理和查询。
安装步骤
-
前提条件:
- 安装 Python 3.8 或更高版本。
- 安装 'uv' (快速Python包安装器和解析器)。
- 安装 Git。
-
克隆仓库:
git clone https://github.com/hyson666/pdf-rag-mcp-server.git cd pdf-rag-mcp-server -
安装依赖: 使用 uv 初始化虚拟环境并安装依赖:
uv init . uv venv source .venv/bin/activate uv pip install -r backend/requirements.txt -
启动服务器: 使用提供的启动脚本(此脚本会同时启动 FastAPI Web服务和 MCP 服务):
uv run run.py服务器的Web界面将在 'http://localhost:8000' 可访问,MCP服务将在 'http://localhost:7800/mcp/v1' 监听。
服务器配置(供MCP客户端使用)
MCP客户端(如 Cursor)需要配置服务器的连接信息。请在客户端的MCP设置中添加一个新的MCP服务器,使用以下信息进行配置:
- Server Name (服务器名称): 'pdf-rag' (这是一个客户端用于标识服务器的名称,可自定义)
- Command (启动命令): 'uv' (客户端用于启动此服务器的命令,确保 uv 已在客户端运行环境安装)
- Args (命令参数): 'run run.py' (启动脚本及其参数)
- URL (连接地址): 'http://localhost:7800/mcp/v1' (服务器监听的地址,如果部署在其他机器,请将 'localhost' 替换为实际IP或域名)
基本使用方法
-
通过Web界面使用:
- 访问 'http://localhost:8000'。
- 点击“Upload New PDF”上传PDF文件。
- 系统将自动处理文件,并显示进度。
- 处理完成后,文档即可用于搜索(在Web界面或通过MCP客户端)。
-
与MCP客户端集成:
- 在支持MCP协议的AI客户端(如 Cursor)的MCP设置中,按上述“服务器配置”添加并启用此服务器。
- 根据客户端的功能,您现在应该能够直接在客户端界面中利用此知识库进行文档查询或增强LLM的回答。
信息
分类
AI与计算