项目简介

RAG MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于为大型语言模型 (LLM) 应用提供检索增强生成 (RAG) 功能。通过该服务器,您可以轻松地将文档内容索引化,并让 LLM 基于这些文档内容回答问题,从而提高 LLM 回答的准确性和相关性。

主要功能点

  • 文档索引: 支持从本地文件或文件夹中读取多种格式的文档(.txt, .md, .json, .jsonl, .csv),并将其内容切块、向量化后存储,建立高效的索引。
  • 文档查询: 接收来自 MCP 客户端的查询请求,基于 RAG 技术在已索引的文档中检索相关信息,并将检索到的上下文返回给客户端,供 LLM 生成答案。
  • 文档管理: 提供文档的添加、删除和列表查看功能,方便用户管理索引文档。
  • 灵活配置: 支持多种 Embedding 模型和向量数据库配置,可以根据实际需求进行调整。
  • 标准 MCP 协议: 完全遵循 MCP 协议,可以与任何兼容 MCP 协议的客户端进行交互。

安装步骤

  1. 克隆仓库

    git clone https://github.com/kwanLeeFrmVi/mcp-rag-server.git
    cd mcp-rag-server
  2. 安装依赖

    npm install
  3. 构建项目

    npm run build
  4. 运行服务器

    设置需要的环境变量后,启动服务器:

    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 地址和模型等。

基本使用方法

  1. 启动 RAG MCP Server: 按照安装步骤启动服务器。

  2. 配置 MCP 客户端: 将上述服务器配置添加到您的 MCP 客户端配置文件中。

  3. 使用 RAG 工具: 在 MCP 客户端中,您可以使用以下工具与 RAG MCP Server 交互:

    • 'index_documents': 索引指定路径下的文档。
    • 'query_documents': 查询已索引的文档。
    • 'remove_document': 删除指定路径的文档索引。
    • 'remove_all_documents': 删除所有文档索引 (需要确认)。
    • 'list_documents': 列出所有已索引的文档路径。

    具体工具的使用方法和参数,请参考仓库 'README.md' 文档或工具的 'description' 信息。

信息

分类

AI与计算