SearxNG Server MCP 使用说明
项目简介
SearxNG Server MCP 是一个 MCP (Model Context Protocol) 服务器的实现,它将流行的开源元搜索引擎 SearxNG 的 API 集成进来,为大型语言模型 (LLM) 应用提供强大的网页搜索能力。通过此服务器,LLM 可以调用工具进行网页搜索,获取最新的信息,从而更好地回答用户的问题或执行相关任务。
主要功能点
- 网页搜索: 提供通用的网页搜索功能,可以查询新闻、文章等各类信息。
- 分页控制: 支持分页参数,允许控制每次返回结果的数量和偏移量,方便逐步获取大量搜索结果。
- 工具集成: 提供了 'searxng_web_search' 和 'web_url_read' 两个工具,方便 LLM 调用进行搜索和网页内容读取。
- 'searxng_web_search': 执行网页搜索,根据关键词检索互联网信息。
- 'web_url_read': 读取指定 URL 的网页内容,并转换为 Markdown 格式,方便 LLM 理解和处理。
安装步骤
前提条件
- SearxNG 实例: 你需要一个可访问的 SearxNG 搜索引擎实例。你可以使用公共的 SearxNG 实例 (https://searx.space/),或者自行搭建本地 SearxNG 环境。
- Node.js 和 npm (或 npx): 如果选择 NPX 方式安装,需要安装 Node.js 和 npm。
- Docker: 如果选择 Docker 方式安装,需要安装 Docker。
安装方式
你可以选择以下方式安装 SearxNG Server MCP:
-
Smithery (推荐 Claude Desktop 用户): 如果你使用 Claude Desktop 客户端,可以通过 Smithery 快速安装 (参考仓库 README)。
-
NPX: 使用 NPX 可以直接运行,无需全局安装。你需要下载或克隆仓库代码到本地。
-
Docker: 使用 Docker 镜像可以方便地部署和运行,无需关心环境配置。
请参考仓库的 README.md 文件获取更详细的安装和配置步骤,包括如何设置 'SEARXNG_URL' 环境变量,指向你的 SearxNG 实例地址。
服务器配置
MCP 客户端(例如 Claude Desktop)需要配置 MCP 服务器的启动命令才能连接 SearxNG Server MCP。 以下是针对不同安装方式的 MCP 服务器配置信息(JSON 格式),请根据你的安装方式选择相应的配置,并将其添加到 MCP 客户端的配置文件中。
1. NPX 方式配置
{ "mcpServers": { "searxng": { // 服务器名称,可以自定义 "command": "npx", // 启动命令,使用 npx "args": [ "-y", "<你的mcp-searxng仓库本地路径>/" // 请替换为 mcp-searxng 仓库在您电脑上的完整路径 ], "env": { "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL" // 请替换为你的 SearxNG 实例 URL,例如 "https://searx.example.com" 或 "http://localhost:8080" } } } }
2. Docker 方式配置
{ "mcpServers": { "searxng": { // 服务器名称,可以自定义 "command": "docker", // 启动命令,使用 docker "args": [ "run", "-i", "--rm", "-e", "SEARXNG_URL", "mcp-server-searxng:latest" // Docker 镜像名称 ], "env": { "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL" // 请替换为你的 SearxNG 实例 URL,例如 "https://searx.example.com" 或 "http://localhost:8080" } } } }
注意:
- 请将 '<你的mcp-searxng仓库本地路径>/' 和 'YOUR_SEARXNG_INSTANCE_URL' 替换为实际的值。
- 'server name' (例如 "searxng") 可以自定义,用于在 MCP 客户端中标识该服务器。
- 'command' 和 'args' 指定了启动 SearxNG Server MCP 的命令和参数。
- 'env' 用于设置环境变量,'SEARXNG_URL' 环境变量指定了 SearxNG 实例的地址。
基本使用方法
配置完成后,在 MCP 客户端中,你可以通过调用 'searxng_web_search' 工具来进行网页搜索。你需要提供 'query' 参数作为搜索关键词。例如,在 Claude 中,你可以通过类似 '@searxng//searxng_web_search?query=最新科技进展' 的方式来调用该工具进行搜索。工具会返回搜索结果,LLM 可以利用这些结果来生成更准确和及时的回复。
对于 'web_url_read' 工具,你可以提供 'url' 参数来读取指定网页的内容,例如 '@searxng//web_url_read?url=https://example.com'。工具会返回网页内容的 Markdown 格式文本。
信息
分类
网页与API