SearXNG MCP Server 使用说明
项目简介
SearXNG MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它将 SearXNG 隐私友好的元搜索引擎集成为一个工具,供LLM(大型语言模型)客户端调用。通过此MCP服务器,LLM应用可以安全、便捷地执行网络搜索,获取来自多个搜索引擎的综合结果,同时保障用户隐私。
主要功能点
- 元搜索引擎集成: 将 SearXNG 的元搜索功能通过 MCP 协议提供给 LLM 客户端。
- 隐私保护: 继承 SearXNG 的隐私特性,不追踪用户,不进行用户画像。
- 多类别搜索: 支持通用搜索、新闻、科学、文件、图片、视频等多种搜索类别。
- 多语言支持: 支持指定语言或所有语言的搜索。
- 时间范围过滤: 可以按天、周、月、年等时间范围过滤搜索结果。
- 安全搜索: 提供不同级别的安全搜索过滤选项。
- 故障转移: 支持配置多个 SearXNG 实例,提高服务的可靠性。
安装步骤
- 安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm。
- 全局安装 SearXNG MCP Server: 打开终端,运行以下命令进行全局安装:
npm install -g @kevinwatt/mcp-server-searxng - 安装 SearXNG: SearXNG MCP Server 依赖于一个正在运行的 SearXNG 实例。 您需要先安装并运行 SearXNG。 仓库的 'README.md' 提供了使用 Docker 快速启动 SearXNG 的方法,请参考 仓库的 README.md 的 "Prerequisites" 章节进行安装和配置。 请务必先确保 SearXNG 能够正常访问。
服务器配置
MCP 服务器需要配置在 MCP 客户端中。以下是 SearXNG MCP Server 的 JSON 格式配置示例,通常用于 MCP 客户端(如 Dive Desktop):
{ "mcpServers": { "searxng": { // 服务器名称,可以自定义 "command": "npx", // 启动服务器的命令,这里使用 npx 执行 npm 包 "args": [ // 命令参数 "-y", // npx 参数,自动确认执行包 "@kevinwatt/mcp-server-searxng" // 要执行的 npm 包名称,即 SearXNG MCP Server ] } } }
配置说明:
- '"serverName"': 您可以自定义服务器名称,例如 "searxng"。
- '"command"': 指定启动 MCP 服务器的命令。对于通过 npm 全局安装的包,通常使用 '"npx"' 来执行。
- '"args"': 命令参数,'"-y"' 是 'npx' 的参数,'"@kevinwatt/mcp-server-searxng"' 是要执行的 npm 包名称。
环境变量配置 (可选): 您可以通过环境变量配置 SearXNG MCP Server 的行为,例如指定 SearXNG 实例的地址。以下是一些常用的环境变量,您可以在 MCP 客户端的 'env' 字段中配置:
{ "mcpServers": { "searxng": { "command": "npx", "args": [ "-y", "@kevinwatt/mcp-server-searxng" ], "env": { "SEARXNG_INSTANCES": "http://localhost:8080,https://searx.example.com", // 指定多个 SearXNG 实例地址,用逗号分隔 "SEARXNG_USER_AGENT": "CustomBot/1.0" // 自定义 User-Agent 头部 } } } }
基本使用方法
成功配置并启动 SearXNG MCP Server 后,在您的 LLM 应用中,您可以使用 'web_search' 工具进行网络搜索。
工具名称: 'web_search'
工具描述: 使用 SearXNG 进行网络搜索,适用于通用查询、新闻、文章和在线内容。支持多种搜索类别、语言、时间范围和安全搜索过滤。返回来自多个搜索引擎的综合结果。
工具输入参数:
| 参数名 | 类型 | 描述 | 可选值/默认值 | |--------------|----------|----------------------------------------------------------|-------------------------------------------------| | 'query' | string | 搜索关键词 | 必填 | | 'page' | number | 页码 | 默认为 '1' | | 'language' | string | 搜索语言代码 (例如 'en', 'zh', 'jp', 'all') | 默认为 ''all'' | | 'categories' | array | 搜索类别,可选值: "general", "news", "science", "files", "images", "videos", "music", "social media", "it" | 默认为 '["general"]' | | 'time_range' | string | 时间范围过滤,可选值: "", "day", "week", "month", "year" | 默认为 '""' (不限制) | | 'safesearch' | number | 安全搜索级别: '0' (无), '1' (中等), '2' (严格) | 默认为 '1' (中等) |
使用示例 (LLM 应用调用 'web_search' 工具的示例):
{ "tool_calls": [ { "name": "web_search", "arguments": { "query": "最新的科技新闻", "language": "zh", "categories": ["news"] } } ] }
LLM 应用调用 'web_search' 工具后,MCP Server 将返回搜索结果,您可以根据结果内容进行后续处理。
信息
分类
网页与API