使用说明
太长,读不下去了
- 该项目实现了 检索增强生成(RAG) MCP服务器使用 LangChain包装纸 为了 ChromaDB 和 拥抱脸 模型。
- 专为无缝集成而设计 克劳德桌面 和 光标IDE 作为MCP客户端。
- 使用单个持久 色度矢量数据库 具有多个集合(域)。
- 自动检索Claude最相关的上下文并对其进行排名,从而启用 领域感知推理 和 基于引文的回应.
该项目实现了 基于LangChain的检索增强生成(RAG) 管道托管为 FastMCP服务器 用于与Claude Desktop和Cursor IDE集成。
它使用:
langchain_chroma.Chroma用于持久的、基于域的矢量存储。langchain_huggingface.HuggingFaceEmbeddings用于本地或HuggingFace嵌入模型。langchain_community.cross_encoders.HuggingFaceCrossEncoder用于本地或HuggingFace重新排序模型,以更好地进行相关性跟踪。FastMCP--轻量级Python接口(基于FastAPI构建),将基于LangChain的检索工具暴露给任何MCP客户端,如Claude Desktop或Cursor IDE。
每个Chroma系列代表一个不同的知识领域或文档。 Claude查询被路由到适当的集合,该集合检索前k个结果并返回相关的上下文和引用。
⚡工作流程:
flowchart TD
Claude[Claude Desktop]
MCP[MCP Server: FastMCP + LangChain]
LangChain[LangChain Wrappers → ChromaDB + HuggingFace]
Claude --> MCP --> LangChain --> Claude
🡅 Back to Top
- PDF嵌入: 在本地或通过URL直接将PDF添加到所选集合中。
- 智能检索: 检索每个集合或跨多个集合的上下文块。
- 重新排名支持: 使用拥抱脸 交叉编码器重排器 以获得更好的文档相关性。
- 文件管理: 列出、重命名和检查本地存储文档的元数据。
- 收款管理: 动态创建、列出和删除ChromaDB集合。
- 引文提供者: 引用是从文档元数据(例如页码、源文档和路径等)生成的。
- 自我描述工具:
describeTools()动态列出所有可用的MCP工具以进行自检。
🡅 Back to Top
此MCP服务器公开了一组工具,MCP客户端可以调用这些工具来执行文档和收集操作,包括嵌入、检索、元数据管理和引文生成。
有关可用工具、参数和示例用法的完整列表,请参阅专用文档:
查看所有工具→ TOOLS.md
🡅 Back to Top
🔧 先决条件
[!重要]
⚙️ 安装
- 创建和激活Conda环境
conda create -n MCP python=3.11.13 -y
conda activate MCP
- 克隆存储库
git clone https://github.com/NSANTRA/RAG-MCP-Server.git
cd RAG-MCP-Server
- 再进行
pip install -r requirements.txt
- 配置.env
# Example:
# If your system has Nvidia GPU CUDA Toolkit setup, you can set the device to cuda, otherwise set it to cpu
DEVICE = "cuda"
DOCUMENT_DIR = "C:/Users/<yourusername>/Projects/RAG-MCP-Server/Documents"
CHROMA_DB_PERSIST_DIR = "C:/Users/<yourusername>/Projects/RAG-MCP-Server/Databases"
EMBEDDING_MODEL = "C:/Users/<yourusername>/Projects/RAG-MCP-Server/Models/MiniLM"
RERANKER_MODEL = "C:/Users/<yourusername>/Projects/RAG-MCP-Server/Models/MiniLM-Reranker"
[!小心] 你需要在需要的地方提到绝对路径。
[!提示]
- 上述配置使用本地下载的模型。您可以使用下载模型 下载Model py python脚本。如有需要,更换型号。
- 您可以为任何HuggingFace模型交换嵌入或重新链接路径。
🡅 Back to Top
[!重要] 您需要下载 克劳德桌面 应用程序或 光标IDE 以便在需要MCP客户端时运行MCP服务器。 您可以下载:
当RAG MCP服务器在MCP配置文件中注册时,上述MCP客户端会自动启动它。
你 不需要手动运行Python脚本.
Claude桌面集成
🛠️ 安装说明
- 将以下条目添加到Claude MCP配置文件中(通常位于Claude Desktop设置文件夹中)。
- 你可以找到 mcp配置文件 在这里: 设置→ 开发者→ 编辑配置 打开文件。
- 然后,添加以下JSON配置:
{
"mcpServers": {
"RAG": {
"command": "C:/Users/<yourusername>/anaconda3/envs/MCP/python.exe",
"args": ["<absolute to the Main.py>"],
"options": {
"cwd": "absolute project root directory path"
}
}
}
}
⚠️ 常见问题: 如果Claude未能启动MCP服务器,请确保:
- Python路径指向Conda环境的可执行文件。
Main.py没有语法错误,并且安装了依赖项。- 这
cwd选项与您的项目根目录匹配。
游标IDE集成
🛠️ 安装说明
- 在Cursor IDE中打开项目,然后转到 File → 偏好设置→ 光标设置→ 工具和MCP→ 新建MCP服务器 打开MCP配置文件。
- 在“mcpServers”部分添加以下JSON条目(根据需要调整路径):
{
"mcpServers": {
"RAG": {
"command": "C:/Users/<yourusername>/anaconda3/envs/MCP/python.exe",
"args": ["<absolute to the Main.py>"],
"options": {
"cwd": "absolute project root directory path"
}
}
}
}
🡅 Back to Top
[!提示] MCP Inspector是Anthropic的官方开发工具,它允许您测试、调试和检查任何模型上下文协议(MCP)服务器,包括自定义RAG MCP服务器,而不需要Claude Desktop或Cursor IDE。
[!重要]
- 使用 MCP检查员,你一定有 Node.js 安装。
- 在安装期间, 启用“添加到PATH”
- 使用验证您的安装
node -v,npm -v和npx -v.
它做什么
- 允许您以交互方式调用工具并查看原始JSON输入/输出。
- 显示系统日志、服务器元数据和协议消息。
- 非常适合测试新的工具定义或调试检索工作流。
安装
您可以使用npm全局安装MCP Inspector:
npm install -g @modelcontextprotocol/inspector
或者直接使用npx运行(无需安装):
npx @modelcontextprotocol/inspector
用法
- 导航到Main.py所在的项目根目录。
- 通过检查器启动MCP服务器:
npx @modelcontextprotocol/inspector python Main.py
[!提示] (如果使用Conda环境,请将python替换为其完整路径。或者,首先激活环境,然后按原样使用上述命令。)
- 检查员将打开一个本地web界面(通常在http://localhost:6274
)显示:
- 输入/输出模式
- 实时日志和响应跟踪
🡅 Back to Top
├── Main.py # Entry point - starts the FastMCP server
│
├── Modules/
│ ├── Config.py # Loads env vars, sets up embeddings & reranker
│ ├── Core.py # Document-level utilities (metadata, citation, rename)
│ ├── Database.py # ChromaDB logic for embedding/retrieval
│ ├── Utils.py # Helper functions (file ops, reranking)
│ └── ToolDefinition.py # MCP tool manifests and argument schemas
│
├── .env # Environment configuration
├── requirements.txt # Dependencies
└── README.md
🡅 Back to Top
-
LangChain RAG工作流程
LangChain文档——RAG -
色度矢量数据库
Chroma文档 -
拟人化MCP和克劳德桌面
模型上下文协议官方网站
Claude桌面概述
🡅 Back to Top
MIT许可证
版权所有(c)2025尼洛帕尔·桑特拉
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
🡅 Back to Top
