使用说明

项目简介

mcp-local-rag 是一个轻量级的本地MCP服务器,它通过集成的网页搜索和RAG(检索增强生成)技术,为大型语言模型(LLM)提供实时的网络信息检索能力。当LLM需要访问互联网信息时,可以调用此服务器提供的工具进行搜索,并将搜索结果作为上下文信息返回,从而提升LLM处理最新信息或特定领域查询的能力。

主要功能点

  • 网页搜索: 利用 DuckDuckGo 搜索引擎进行网页搜索。
  • RAG 信息检索: 使用文本嵌入模型对搜索结果进行语义排序,提取与查询最相关的网页内容片段。
  • 本地部署: 服务器可以本地运行,无需API密钥,保护数据隐私。
  • MCP 协议支持: 遵循 Model Context Protocol,可以与任何兼容 MCP 协议的 LLM 客户端配合使用。

安装步骤

  1. 安装 uv: 按照 uv 官方文档 的指引安装 uv 包管理器。uv 是一个快速的 Python 包安装和管理工具,用于安装本项目依赖。

  2. 配置 Claude (或其他 MCP 客户端): 将以下 JSON 配置添加到你的 Claude 客户端配置中,以注册 mcp-local-rag 服务器。 Claude 配置文件的路径可以在 Model Context Protocol 官方文档 中找到。

    配置信息 (JSON):

    {
        "mcpServers": {
            "mcp-local-rag":{  // 服务器名称,可以自定义
                "command": "uvx", // 启动命令,uvx 会自动处理项目依赖和执行
                "args": [
                "--python=3.10", // 指定 Python 版本为 3.10
                "--from",       // 从 Git 仓库安装
                "git+https://github.com/nkapila6/mcp-local-rag", // GitHub 仓库 URL
                "mcp-local-rag" //  指定要运行的项目名称(与仓库名一致)
                ]
            }
        }
    }

    或者,如果你选择克隆仓库:

    a. 克隆仓库 (可选): 如果你希望修改代码或更方便地管理,可以克隆 GitHub 仓库到本地:

    git clone https://github.com/nkapila6/mcp-local-rag

    b. 配置 Claude (或其他 MCP 客户端): 使用以下 JSON 配置,注意将 '<path where this folder is located>/mcp-local-rag/' 替换为你本地仓库的实际路径

    {
      "mcpServers": {
        "mcp-local-rag": {  // 服务器名称,可以自定义
          "command": "uv",   // 启动命令,uv 用于在指定目录下运行
          "args": [
            "--directory",  // 指定工作目录
            "<path where this folder is located>/mcp-local-rag/", //  **替换为你的本地仓库路径**
            "run",          // uv 的 run 命令,用于运行 Python 脚本
            "src/mcp_local_rag/main.py" //  指定服务器主程序入口
          ]
        }
      }
    }

基本使用方法

  1. 启动 MCP 服务器: 配置完成后,Claude (或其他 MCP 客户端) 会在需要时自动启动 'mcp-local-rag' 服务器。

  2. LLM 触发: 当你在 Claude 中提问涉及到需要网页搜索的问题时,例如询问最新的新闻、事件或知识,Claude 可能会识别出需要外部信息,并提示你使用已配置的 MCP 服务器。

  3. 调用 'rag_search' 工具: Claude 会自动调用 'mcp-local-rag' 服务器提供的 'rag_search' 工具,并将你的问题作为 'query' 参数传递给该工具。

  4. 获取搜索结果: 'rag_search' 工具会在后台进行网页搜索,并返回经过 RAG 处理后的相关网页内容。 Claude 将利用这些内容作为上下文信息来生成更准确、更全面的回答。

示例场景: 你可以向 Claude 提问 "昨天发布的 Google Gemma 模型是什么?",Claude 可能会识别出这是一个需要联网搜索的问题,并利用 'mcp-local-rag' 服务器提供的搜索能力来找到关于 Gemma 模型的最新信息,然后基于这些信息给出回答。

信息

分类

网页与API