与 SearXNG 集成的 MCP 服务器实现,提供注重隐私的元搜索功能。
npm install -g @kevinwatt/mcp-server-searxng
mcp-server-searxng
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"@kevinwatt/mcp-server-searxng"
]
}
}
}
query (字符串):搜索词page (数字,可选):页码(默认值:1)language (字符串,可选):语言代码(例如:'en', 'all',默认值:'all')categories (数组,可选):搜索类别(默认值:['general'])
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 实例。设置方法如下:
# 创建配置目录
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 标志确保:
编辑 searxng/settings.yml 来:
详细配置选项,请参阅 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 证书验证。