SearXNG MCP Server 使用说明

项目简介

SearXNG MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 SearXNG 搜索引擎的功能封装成 MCP 工具。通过该服务器,LLM 客户端可以方便地调用 SearXNG 进行网页搜索和获取可用的搜索引擎信息,从而增强 LLM 的信息检索能力。

主要功能点

  • 网页搜索: 提供 'search' 工具,允许 LLM 客户端使用 SearXNG 搜索引擎进行网页搜索,支持关键词、类别、引擎、语言、时间范围和安全搜索等参数设置。
  • 获取引擎信息: 提供 'get_available_engines' 工具,允许 LLM 客户端获取 SearXNG 实例中配置的可用搜索引擎列表及其详细信息。
  • MCP 协议支持: 完全兼容 Model Context Protocol,可以通过标准的 MCP 协议与 LLM 客户端进行通信。
  • 易于部署: 服务器以单文件 Python 脚本形式提供,易于部署和运行。

安装步骤

该项目无需传统安装步骤,因为它是一个单文件 Python 脚本。您只需确保您的运行环境满足以下条件:

  1. Python 环境: 确保安装了 Python 3.6 或更高版本。
  2. 依赖库: 需要安装 'mcp' 和 'httpx' 库。可以使用 pip 或 uv 等包管理器进行安装,例如使用 uv:
    uv pip install mcp httpx

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 SearXNG MCP Server。请将以下配置添加到您的 MCP 客户端配置中:

{
  "server_name": "SearXNG MCP Server",
  "command": "uv",
  "args": [
    "run",
    "https://raw.githubusercontent.com/maccam912/searxng-mcp-server/refs/heads/main/server.py",
    "--url",
    "https://searxng.example.com" // 请替换为您的 SearXNG 实例 URL,例如 "https://searx.example.com"
  ]
}

配置参数说明:

  • 'server_name': 服务器的名称,您可以自定义设置,用于在 MCP 客户端中标识该服务器。
  • 'command': 启动服务器的命令。这里使用 'uv run' 命令,它能够直接运行远程 Python 脚本。
  • 'args': 传递给 'uv run' 命令的参数列表。
    • '"https://raw.githubusercontent.com/maccam912/searxng-mcp-server/refs/heads/main/server.py"': 指定服务器脚本的远程 URL。
    • '"--url"': 指定 SearXNG 实例 URL 的参数名称。
    • '"https://searxng.example.com"': 请务必替换为您实际使用的 SearXNG 搜索引擎实例的 URL。例如,如果您运行的是本地 SearXNG 实例,可能需要设置为 '"http://localhost:8080"'。

基本使用方法

配置完成后,您的 MCP 客户端应该能够连接到 SearXNG MCP Server 并使用其提供的工具。

可用工具:

  • 'search': 执行网页搜索。

    • 参数:
      • 'query' (必选): 搜索关键词。
      • 'categories' (可选): 逗号分隔的类别列表。
      • 'engines' (可选): 逗号分隔的搜索引擎列表。
      • 'language' (可选): 语言代码。
      • 'page' (可选): 页码,默认为 1。
      • 'time_range' (可选): 时间范围 (day, month, year)。
      • 'safe_search' (可选): 安全搜索级别 (0, 1, 2)。
    • 示例调用 (JSON-RPC 请求):
      {
        "jsonrpc": "2.0",
        "method": "call_tool",
        "params": {
          "tool_name": "search",
          "tool_args": {
            "query": "最新的AI技术",
            "language": "zh-CN"
          }
        },
        "id": "1"
      }
  • 'get_available_engines': 获取可用的搜索引擎信息。

    • 参数: 无
    • 示例调用 (JSON-RPC 请求):
      {
        "jsonrpc": "2.0",
        "method": "call_tool",
        "params": {
          "tool_name": "get_available_engines"
        },
        "id": "2"
      }

请参考 MCP 客户端的文档,了解如何在您的客户端中配置和调用 MCP 服务器及其提供的工具。

信息

分类

网页与API