S

SearXNG服务器-元搜索引擎

@kevinwatt/mcp-server-searxng
1 Stars 744 次浏览 kevinwatt 更新于 2026-08-23

该服务器通过集成多个搜索引擎提供注重隐私的元搜索功能,不会进行跟踪或用户画像,支持各种分类和语言的过滤搜索。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "searxng": {
      "args": [
        "-y",
        "@kevinwatt/mcp-server-searxng"
      ],
      "command": "npx",
      "env": {
        "NODE_TLS_REJECT_UNAUTHORIZED": "0",
        "SEARXNG_INSTANCES": "http://localhost:8080,https://searx.example.com",
        "SEARXNG_USER_AGENT": "CustomBot/1.0"
      },
      "name": "searxng"
    }
  }
}

服务介绍

SearXNG MCP 服务器

一个与 SearXNG 集成的 MCP 服务器实现,提供注重隐私的元搜索功能。

特性

  • 元搜索:结合多个搜索引擎的结果
  • 注重隐私:无跟踪,无用户画像
  • 多种类别:支持通用、新闻、科学、文件、图片、视频等更多类别
  • 语言支持:在特定语言或所有语言中搜索
  • 时间范围过滤:按天、周、月或年过滤结果
  • 安全搜索:三级安全搜索过滤
  • 故障转移支持:多重 SearXNG 实例以提高可靠性

安装

npm install -g @kevinwatt/mcp-server-searxng

使用

直接运行

mcp-server-searxng

使用 Dive Desktop

  1. 在 Dive Desktop 中点击 "+ 添加 MCP 服务器"
  2. 复制并粘贴以下配置:
{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "@kevinwatt/mcp-server-searxng"
      ]
    }
  }
}
  1. 点击“保存”以安装 MCP 服务器

工具文档

  • web_search
    • 跨多个引擎执行元搜索
    • 输入:
      • query (字符串):搜索词
      • page (数字, 可选):页码(默认:1)
      • language (字符串, 可选):语言代码(例如 'en', 'all',默认:'all')
      • categories (数组, 可选):搜索类别(默认:['general'])
        • 可用选项:"general", "news", "science", "files", "images", "videos", "music", "social media", "it"
      • time_range (字符串, 可选):时间过滤器(day/week/month/year)
      • safesearch (数字, 可选):安全搜索级别(0: 无, 1: 中等, 2: 严格,默认:1)

开发

git clone https://github.com/kevinwatt/mcp-server-searxng.git
cd mcp-server-searxng
npm install
npm run build
npm start

许可证

此 MCP 服务器采用 MIT 许可证。详见 LICENSE 文件。

前提条件

你需要一个本地运行的 SearXNG 实例。设置方法如下:

使用 Docker 运行 SearXNG

快速开始

# Create config directory
mkdir -p searxng

# Create config file
tee searxng/settings.yml << EOF
use_default_settings: true

server:
  bind_address: "0.0.0.0"
  secret_key: "CHANGE_THIS_TO_SOMETHING_SECURE"  # Generate a random key
  port: 8080

search:
  safe_search: 0
  formats:
    - html
    - json

engines:
  - name: google
    engine: google
    shortcut: g

  - name: duckduckgo
    engine: duckduckgo
    shortcut: d

  - name: bing
    engine: bing
    shortcut: b

server.limiter: false
EOF

# Start container
docker run -d \
  --name searxng \
  -p 8080:8080 \
  -v "$(pwd)/searxng:/etc/searxng" \
  searxng/searxng

测试搜索功能

# Test JSON API with curl
curl -v 'http://localhost:8080/search?q=test&format=json'

# Or visit in browser
http://localhost:8080/search?q=test

容器管理

# Stop container
docker stop searxng

# Remove container
docker rm searxng

# View container logs
docker logs searxng

# Enable auto-start on boot
docker update --restart always searxng

--restart always 标志确保:

  • 当 Docker 守护进程启动时容器自动启动
  • 如果容器崩溃则自动重启
  • 除非被用户明确停止,否则如果容器被停止也会自动重启

自定义配置

编辑 searxng/settings.yml 以:

  • 修改搜索引擎列表
  • 调整安全设置
  • 配置 UI 语言
  • 更改 API 限制

有关详细配置选项,请参阅 SearXNG 文档

环境变量

  • SEARXNG_INSTANCES:逗号分隔的 SearXNG 实例 URL 列表
    默认值:http://localhost:8080

  • SEARXNG_USER_AGENT:用于请求的自定义 User-Agent 标头
    默认值:MCP-SearXNG/1.0

  • NODE_TLS_REJECT_UNAUTHORIZED:设置为 '0' 以绕过 SSL 证书验证(用于带有自签名证书的开发环境)
    默认值:未定义(启用 SSL 验证)

包含所有选项的示例配置:

{
  "mcpServers": {
    "searxng": {
      "name": "searxng",
      "command": "npx",
      "args": [
        "-y",
        "@kevinwatt/mcp-server-searxng"
      ],
      "env": {
        "SEARXNG_INSTANCES": "http://localhost:8080,https://searx.example.com",
        "SEARXNG_USER_AGENT": "CustomBot/1.0",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

⚠️ 注意:不建议在生产环境中禁用 SSL 证书验证。

相关 MCP 服务