ihor-sokoliuk/mcp-searxng
Private web search for AI assistants via SearXNG — supports Claude, Cursor, and any MCP client
解决的问题
像 Claude 或 Cursor 这样的 AI 助手通常缺乏对互联网或私有搜索引擎的实时访问权限。本项目通过将这些助手连接到 SearXNG 实例来弥补这一差距,使它们无需依赖专有或付费的搜索 API 即可执行网络搜索并读取网站内容。
工作原理
这是一个独立的 Node.js 进程,充当 Model Context Protocol (MCP) 服务器。它通过 HTTP JSON API 连接到 SearXNG 实例(或多个副本)。当 AI 助手请求搜索或 URL 时,此服务器会查询 SearXNG,处理分页,管理多个实例之间的故障转移,甚至可以将网页内容转换为 Markdown 供助手阅读。
适用对象
- AI 开发人员:正在构建需要实时网络数据的代理工作流(agentic workflows)。
- 高级用户:希望为他们的助手提供私有、自托管或免费网络搜索功能的 MCP 兼容客户端(如 Claude Desktop 或 Cursor)用户。
- 注重隐私的用户:希望使用 SearXNG 以避免将所有搜索查询直接发送到大型商业搜索引擎的用户。
亮点
- 网络搜索与读取:支持常规、新闻和文章查询,并为 URL 提供感知内容类型的 Markdown 转换。
- 高可用性:支持具有自动故障转移或并行扇出(fan-out)以合并结果的多个 SearXNG 副本。
- 智能缓存:对搜索结果和 URL 内容均使用内存缓存,以减少冗余的网络请求。
- 鲁棒性:包括针对禁用 JSON 的实例的 HTML 回退方案、URL 读取的 SSRF 保护以及代理支持。