使用说明
项目简介
mcp-local-rag 是一个轻量级的本地MCP服务器,它通过集成的网页搜索和RAG(检索增强生成)技术,为大型语言模型(LLM)提供实时的网络信息检索能力。当LLM需要访问互联网信息时,可以调用此服务器提供的工具进行搜索,并将搜索结果作为上下文信息返回,从而提升LLM处理最新信息或特定领域查询的能力。
主要功能点
- 网页搜索: 利用 DuckDuckGo 搜索引擎进行网页搜索。
- RAG 信息检索: 使用文本嵌入模型对搜索结果进行语义排序,提取与查询最相关的网页内容片段。
- 本地部署: 服务器可以本地运行,无需API密钥,保护数据隐私。
- MCP 协议支持: 遵循 Model Context Protocol,可以与任何兼容 MCP 协议的 LLM 客户端配合使用。
安装步骤
-
安装 uv: 按照 uv 官方文档 的指引安装 uv 包管理器。uv 是一个快速的 Python 包安装和管理工具,用于安装本项目依赖。
-
配置 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-ragb. 配置 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" // 指定服务器主程序入口 ] } } }
基本使用方法
-
启动 MCP 服务器: 配置完成后,Claude (或其他 MCP 客户端) 会在需要时自动启动 'mcp-local-rag' 服务器。
-
LLM 触发: 当你在 Claude 中提问涉及到需要网页搜索的问题时,例如询问最新的新闻、事件或知识,Claude 可能会识别出需要外部信息,并提示你使用已配置的 MCP 服务器。
-
调用 'rag_search' 工具: Claude 会自动调用 'mcp-local-rag' 服务器提供的 'rag_search' 工具,并将你的问题作为 'query' 参数传递给该工具。
-
获取搜索结果: 'rag_search' 工具会在后台进行网页搜索,并返回经过 RAG 处理后的相关网页内容。 Claude 将利用这些内容作为上下文信息来生成更准确、更全面的回答。
示例场景: 你可以向 Claude 提问 "昨天发布的 Google Gemma 模型是什么?",Claude 可能会识别出这是一个需要联网搜索的问题,并利用 'mcp-local-rag' 服务器提供的搜索能力来找到关于 Gemma 模型的最新信息,然后基于这些信息给出回答。
信息
分类
网页与API