使用说明
SearXNG MCP服务器
通过SearXNG对模型上下文协议(MCP)客户端进行以隐私为中心的网络搜索。
特性
- 可流式HTTP传输 -MCP通信的单个HTTP端点
- SearXNG集成 -以隐私为中心的搜索引擎
- Docker就绪 -使用Docker Compose轻松部署
- TypeScript -类型安全实施
快速开始
1.启动服务器
您可以使用以下Docker Compose配置之一启动服务器:
标准用法(compose.yml)
使用GitHub容器注册表中的预构建映像。如果您已经有一个正在运行的SearXNG实例,建议使用(默认值: http://localhost:8080).
docker compose up -d
开发与建设(compose.dev.yml)
从本地源代码构建映像。如果您想修改源代码,请将其用于开发。
docker compose -f compose.dev.yml up -d --build
生产/全栈(compose.prod.yml)
启动一个完整的堆栈,包括SearXNG、Nginx和MCP服务器。如果您还没有运行SearXNG实例,请使用此选项。此设置包括:
- searxng:SearXNG搜索引擎实例
- searxng mcp服务器:MCP服务器
- 引擎X:反向代理
docker compose -f compose.prod.yml up -d
2.验证服务器是否正在运行
curl http://localhost:3000/health
预期响应:
{
"status": "ok",
"timestamp": "2026-02-15T04:10:23.000Z",
"service": "searxng-mcp-server"
}
3.在SearXNG中启用JSON输出
如果你正在运行自己的SearXNG实例(尤其是通过Docker Compose),你可能会遇到 403 Forbidden MCP服务器尝试获取搜索结果时出错。这是因为默认情况下SearXNG中禁用了JSON输出。
要解决此问题,请编辑您的SearXNG settings.yml 并添加 json 搜索格式:
search:
formats:
- html
- json # Add this line to enable JSON output
进行此更改后重新启动SearXNG容器。
4.配置您的MCP客户端
克劳德代码
在Claude Code中运行以下命令:
claude mcp add --transport http searxng http://localhost:3000/mcp
或添加到 ~/.claude.json
{
"mcpServers": {
"searxng": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}
然后重新启动Claude Desktop。
克莱恩
添加到Cline配置文件:
{
"mcpServers": {
"searxng": {
"type": "streamableHttp",
"url": "http://localhost:3000/mcp"
}
}
}
可用工具
searxng_search
使用SearXNG进行网络搜索。
参数:
query(必填):搜索查询字符串category(可选):搜索类别-general,images,videos,files,news,map,music,social media(默认值:general)language(可选):语言代码(默认值:all)time_range(可选):时间过滤器-day,week,month,yearsafesearch(可选):安全搜索级别-0关1(中等),2(严格)(默认值:1)
例子:
{
"query": "TypeScript MCP server",
"category": "general",
"language": "ja"
}
答复包括:
- 带有标题、URL、内容、分数、类别、发布日期的搜索结果
- 相关搜索建议
- 搜索元数据(结果数量、响应时间)
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
SEARXNG_URL |
SearXNG实例URL | http://localhost:8080 |
SERVER_PORT |
HTTP服务器端口 | 3000 |
SERVER_HOST |
HTTP服务器主机 | 0.0.0.0 |
LOG_LEVEL |
日志记录级别 | info |
发展
先决条件
- Node.js 24+
- pnpm 9.15.4+
安装依赖项
pnpm install
构建
pnpm build
以开发模式运行
pnpm dev
在生产模式下运行
pnpm start
测试
MCP检查员
MCP检查员 是一个基于网络的工具,用于调试和探索MCP服务器。
测试MCP连接
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}'
测试搜索工具
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"searxng_search","arguments":{"query":"test query"}}}'
许可证
该项目发布于 MIT许可证.
