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:

  1. Smithery (推荐 Claude Desktop 用户): 如果你使用 Claude Desktop 客户端,可以通过 Smithery 快速安装 (参考仓库 README)。

  2. NPX: 使用 NPX 可以直接运行,无需全局安装。你需要下载或克隆仓库代码到本地。

  3. 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