使用说明

项目简介

mcp-rag 是一个示例 MCP 服务器,它实现了检索增强生成(RAG)功能。该服务器通过 MCP 协议与 LLM 客户端通信,提供了一个名为 'retrieve' 的工具,允许 LLM 根据用户查询检索相关文档片段,从而增强 LLM 的上下文理解和生成能力。

主要功能点

  • MCP 服务器: 遵循 Model Context Protocol,作为 LLM 客户端的上下文服务后端。
  • RAG 功能: 实现基于向量索引的文档检索,为 LLM 提供外部知识。
  • Retrieve 工具: 提供 'retrieve' 工具,LLM 客户端可以调用此工具并传入查询语句,服务器将返回相关的文档内容。
  • 可配置: 支持使用 OpenAI 或 Azure OpenAI 的 Embedding 模型,可以通过环境变量进行配置。
  • 快速上手: 提供 Claude Desktop 客户端的快速配置指南。

安装步骤

  1. 克隆仓库
    git clone https://github.com/EasyLLM/mcp-rag.git
    cd mcp-rag
  2. 配置环境变量
    • 设置 'OPENAI_API_KEY' 环境变量,用于 OpenAI API 的访问认证。如果您使用 Azure OpenAI,请设置 'OPENAI_API_BASE' 和 'OPENAI_API_VERSION' 环境变量。
    • 设置 'FOLDER_PATH' 环境变量,指向包含您希望索引的文档的文件夹路径。
    • 示例 (Linux/macOS):
      export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
      export FOLDER_PATH="/path/to/your/documents"
      或 (Windows):
      $env:OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
      $env:FOLDER_PATH="C:\path\to\your\documents"

服务器配置

要将此 MCP 服务器连接到 MCP 客户端(例如 Claude Desktop),您需要配置客户端的服务器设置。以下是一个典型的 JSON 配置示例,您需要将其添加到 MCP 客户端的配置文件中。

{
  "servers": [
    {
      "serverName": "mcp-rag-server",
      "command": "python",
      "args": ["-m", "mcp_rag"]
    }
  ]
}

配置参数说明:

  • 'serverName': 服务器的名称,可以自定义,例如 "mcp-rag-server"。
  • 'command': 启动服务器的命令,这里使用 'python' 命令。
  • 'args': 传递给 'python' 命令的参数,'-m mcp_rag' 表示以模块方式运行 'mcp_rag' 包,这将启动 'mcp_rag' 服务器。

请注意: 此配置假设您的 Python 环境已配置好,并且 'mcp_rag' 项目可以通过 'python -m mcp_rag' 命令运行。您可能需要根据您的实际环境调整 'command' 和 'args'。

基本使用方法

  1. 启动服务器: 配置完成后,当 MCP 客户端尝试连接到 "mcp-rag-server" 时,它将使用您提供的 'command' 和 'args' 启动服务器。
  2. 调用工具: 在 MCP 客户端中,您可以使用 '@retrieve' 工具并提供查询语句来触发文档检索。例如,在 Claude Desktop 中,您可以输入类似 '@retrieve query="你的查询内容"' 的指令。
  3. 获取结果: 服务器将根据您的查询检索相关文档片段,并将结果返回给 MCP 客户端,LLM 可以利用这些信息生成更丰富的回复。

使用示例 (Claude Desktop):

在 Claude Desktop 中输入:

@retrieve query="什么是 Model Context Protocol?"

服务器将检索与 "Model Context Protocol" 相关的文档内容,并将结果返回给 Claude,Claude 可以根据检索到的信息回答您的问题。

信息

分类

AI与计算