项目简介
RAG MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于为大型语言模型 (LLM) 应用提供检索增强生成 (RAG) 功能。通过该服务器,您可以轻松地将文档内容索引化,并让 LLM 基于这些文档内容回答问题,从而提高 LLM 回答的准确性和相关性。
主要功能点
- 文档索引: 支持从本地文件或文件夹中读取多种格式的文档(.txt, .md, .json, .jsonl, .csv),并将其内容切块、向量化后存储,建立高效的索引。
- 文档查询: 接收来自 MCP 客户端的查询请求,基于 RAG 技术在已索引的文档中检索相关信息,并将检索到的上下文返回给客户端,供 LLM 生成答案。
- 文档管理: 提供文档的添加、删除和列表查看功能,方便用户管理索引文档。
- 灵活配置: 支持多种 Embedding 模型和向量数据库配置,可以根据实际需求进行调整。
- 标准 MCP 协议: 完全遵循 MCP 协议,可以与任何兼容 MCP 协议的客户端进行交互。
安装步骤
-
克隆仓库
git clone https://github.com/kwanLeeFrmVi/mcp-rag-server.git cd mcp-rag-server -
安装依赖
npm install -
构建项目
npm run build -
运行服务器
设置需要的环境变量后,启动服务器:
npm start环境变量 (以下环境变量为服务器运行所必需,请根据您的环境进行配置):
- 'BASE_LLM_API': Embedding API 的基础 URL,例如 'http://localhost:11434/v1' (Ollama 默认地址)。
- 'EMBEDDING_MODEL': 要使用的 Embedding 模型名称,例如 'nomic-embed-text' (Ollama 模型)。
更多环境变量配置,请参考仓库 'README.md' 文档。
服务器配置
要将 RAG MCP Server 集成到 MCP 客户端,您需要在客户端的 MCP 服务器配置中添加以下 JSON 配置。请注意,以下配置仅为示例,您需要根据您的实际环境调整 'command' 和 'env' 字段。
{ "mcpServers": { "rag": { "command": "npx", "args": ["-y", "mcp-rag-server"], "env": { "BASE_LLM_API": "http://localhost:11434/v1", "EMBEDDING_MODEL": "nomic-embed-text" // 其他环境变量配置,例如 LLM_API_KEY, VECTOR_STORE_PATH, CHUNK_SIZE 等,请参考 README.md } } } }
配置项说明:
- 'server name': 'rag' (服务器名称,可以自定义)
- 'command': 'npx' (Node.js 包执行器,确保您的环境中已安装 Node.js 和 npm)
- 'args': '["-y", "mcp-rag-server"]' (启动 RAG MCP Server 的命令和参数)
- 'env': 环境变量配置,用于配置 RAG MCP Server 运行所需的参数,例如 Embedding API 地址和模型等。
基本使用方法
-
启动 RAG MCP Server: 按照安装步骤启动服务器。
-
配置 MCP 客户端: 将上述服务器配置添加到您的 MCP 客户端配置文件中。
-
使用 RAG 工具: 在 MCP 客户端中,您可以使用以下工具与 RAG MCP Server 交互:
- 'index_documents': 索引指定路径下的文档。
- 'query_documents': 查询已索引的文档。
- 'remove_document': 删除指定路径的文档索引。
- 'remove_all_documents': 删除所有文档索引 (需要确认)。
- 'list_documents': 列出所有已索引的文档路径。
具体工具的使用方法和参数,请参考仓库 'README.md' 文档或工具的 'description' 信息。
信息
分类
AI与计算