返回市场
搜索服务

搜索服务

作者:kevinwatt21 星标更新:2025-05-11

项目介绍

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

快速开始

# 创建配置目录
mkdir -p searxng

# 创建配置文件
tee searxng/settings.yml << EOF
use_default_settings: true

server:
  bind_address: "0.0.0.0"
  secret_key: "CHANGE_THIS_TO_SOMETHING_SECURE"  # 生成一个随机密钥
  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

# 启动容器
docker run -d \
  --name searxng \
  -p 8080:8080 \
  -v "$(pwd)/searxng:/etc/searxng" \
  searxng/searxng

测试搜索功能

# 使用 curl 测试 JSON API
curl -v 'http://localhost:8080/search?q=test&format=json'

# 或在浏览器中访问
http://localhost:8080/search?q=test

容器管理

# 停止容器
docker stop searxng

# 移除容器
docker rm searxng

# 查看容器日志
docker logs searxng

# 启用开机自动启动
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 证书验证。