SearXNG服务器-元搜索引擎
该服务器通过集成多个搜索引擎提供注重隐私的元搜索功能,不会进行跟踪或用户画像,支持各种分类和语言的过滤搜索。
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
- 在 Dive Desktop 中点击 "+ 添加 MCP 服务器"
- 复制并粘贴以下配置:
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"@kevinwatt/mcp-server-searxng"
]
}
}
}
- 点击“保存”以安装 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 证书验证。