MCP-searxng
在AI技术飞速发展的今天,大型语言模型(LLM)展现出了惊人的文本生成和理解能力。然而,这些模型的知识库通常止步于训练数据,无法实时获取最新的新闻、动态和信息。这就像一位学识渊博的学者,虽然满腹经纶,却对外界正在发生的新鲜事一无所知。如何为AI插上实时获取信息的“触角”,成为了当前技术探索的热点。MCP-searxng项目正是为了解决这一问题而生,它为AI系统构建了一座通往实时互联网世界的桥梁。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | MCP-searxng |
| GitHub地址 | https://github.com/SecretiveShell/MCP-searxng |
| 项目描述 | MCP server for connecting agentic systems to search systems via searXNG |
| 作者 | SecretiveShell |
| 开源协议 | MIT License |
| 开源状态 | 公开状态 |
| Languages | Python |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-04-20 |
一、项目介绍
MCP-searxng是一个基于Model Context Protocol(MCP)协议开发的服务器程序,它的核心使命是让AI系统能够通过searXNG搜索引擎发起网络搜索。简单来说,它是一个智能的“中间人”,一端连接着你的AI应用(如Claude Desktop等支持MCP协议的客户端),另一端则连接着searXNG这个注重隐私的元搜索引擎。
searXNG本身就是一个强大的工具,它聚合了来自Google、Bing、DuckDuckGo等主流搜索引擎的结果,但独特之处在于它不会追踪用户、记录IP或建立用户画像。MCP-searxng项目巧妙地利用了searXNG的API,将这些隐私保护的搜索能力无缝对接到AI系统中。通过这个项目,原本无法获取实时信息的AI,现在能够主动搜索网络,获取最新资讯、验证事实、甚至阅读特定网页的内容,从而做出更准确、更具时效性的回应。
二、核心优势
该项目最大的吸引力在于其简洁性与实用性。它的核心优势可以总结为以下几点:
专注于核心功能
项目采用了“极简主义”的设计哲学。它只为AI提供了一个最核心的工具——搜索。与许多功能繁杂的项目不同,MCP-searxng刻意限制了可调整的参数,只允许输入“关键词”和可选的“页码”。开发者SearXNG-MCP-searxng认为,过多的参数(如指定搜索引擎、类别、时间范围等)反而会让AI“不知所措”,导致其随机或错误地选择参数,影响搜索效果。这个设计选择将复杂的配置留给了searXNG服务端,让AI只做自己最擅长的事:生成精准的搜索关键词。
开箱即用与灵活部署
项目提供了多种启动方式,极大地降低了使用门槛。你可以通过npx(Node.js包执行工具)直接运行,无需任何安装,非常适合快速测试。同时,它也支持全局安装、Docker容器化部署等,能满足从个人开发者到复杂生产环境的不同需求。尤其是Docker支持,使得环境隔离和快速迁移变得异常简单。
保护隐私
一切都基于searXNG,这意味着所有的搜索请求都会经由你信任的searXNG实例(可以是自己搭建的私有实例,也可以是其他可信的公共实例)发出。你的AI的搜索意图不会直接暴露给Google或Bing等搜索引擎巨头,从而在享受实时信息的同时,最大程度地保护了隐私。
三、适用场景
这款工具的应用场景非常广泛,特别适合以下几类用户:
AI应用开发者:如果你正在构建基于大语言模型的应用,并希望它具备联网搜索、实时问答的能力,MCP-searxng提供了一个标准、可靠的解决方案。通过集成它,你的应用可以瞬间获得搜索能力,而无需自己处理复杂的网页抓取和反爬虫机制。
研究与数据分析人员:需要快速搜集某个领域的最新资料或动态。你可以利用像Claude这样的AI,让它通过MCP-searxng自动搜索、整理并总结相关信息,极大地提高信息收集效率。
注重隐私的个人用户:不喜欢自己的每一次搜索都被记录和分析。你可以搭建属于自己的searXNG和MCP-searxng服务,打造一个完全私密、由自己掌控的智能搜索助手。
四、安装教程
为了让你的AI能够成功“联网”,我们需要完成简单的配置。整个流程分为两个主要部分:准备一个可用的searXNG实例,以及配置MCP-searxng客户端。
第一步:确保拥有一个searXNG实例
MCP-searxng需要一个能正常工作的searXNG服务地址。你可以使用公共实例(不推荐用于隐私敏感场景),或者通过在本地或服务器上运行Docker来快速搭建一个属于自己的私有实例。
使用Docker运行searXNG实例是最简单的方法。打开你的终端,执行以下命令:
docker run -d -p 8080:8080 --name searxng searxng/searxng这将在后台启动一个searXNG容器,并将其Web服务映射到你电脑的8080端口。启动后,你可以通过访问 http://localhost:8080 来验证是否成功。
重要配置:你需要确保你的searXNG实例开启了JSON格式支持,这是MCP服务器与它通信的基础。你需要在searXNG的配置文件 settings.yml 中添加或修改以下内容:
search:
formats:
- html
- json如果你使用的是上述Docker命令运行的容器,需要进入容器内部或通过挂载配置文件的方式来修改此设置,具体方法可参考searXNG的官方文档。
第二步:配置MCP客户端
接下来,你需要在你使用的MCP客户端(如Claude Desktop)的配置文件中,添加MCP-searxng服务器。配置文件通常位于:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
使用 npx 运行(推荐,无需本地安装)
在你的客户端配置文件中,添加以下内容。请务必将 YOUR_SEARXNG_INSTANCE_URL 替换为你第一步中获得的searXNG实例地址(例如 http://localhost:8080)。
{
"mcpServers": {
"searxng-search": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_SERVER_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}如果你希望使用Python/UV方式运行,可以参考以下配置(这种方式适合从GitHub克隆的本地仓库):
{
"mcpServers": {
"searxng": {
"command": "uv",
"args": [
"--project",
"/绝对路径/指向/你克隆的/MCP-searxng/文件夹",
"run",
"/绝对路径/指向/你克隆的/MCP-searxng/mcp-searxng/main.py"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}完成配置后,请完全退出并重启你的MCP客户端(如Claude Desktop),以使配置生效。
五、使用示例
配置完成后,你就可以在AI对话中体验联网搜索的威力了。这个项目通常只提供一个名为 search_web 或类似的工具。
假设你正在与Claude讨论最新的科技新闻,你可以直接提问:
“请帮我搜索一下2026年4月关于人工智能监管的最新新闻。”
此时,支持MCP的AI模型会智能地判断并调用 search_web 工具,将你的问题提炼成关键词(例如“2026年4月 人工智能 监管 新闻”),然后发送给你的searXNG实例进行搜索。搜索返回的结果(通常包含标题、链接和内容摘要)会回传给AI,AI再将这些原始信息理解、整合成一段条理清晰的回答呈现给你。
你也可以尝试提出更具体的要求:
“找出关于‘气候变化’的最新三篇文章,并总结其核心观点。”
AI会执行搜索,从结果中选取前三篇文章。对于每一篇,它甚至可以利用其他具有网页阅读能力的工具(如果支持)来获取全文,然后为你提炼出核心观点。这一切都是自动化、无缝进行的。你可能会注意到,AI在使用搜索工具时,会遵守极简的参数规则:只用关键词和页码,其他所有如搜索引擎选择、语言、安全等级等,都依赖于你在searXNG实例中预先配置好的默认值。
六、常见问题
在使用过程中,你可能会遇到一些问题,以下是常见的解决思路。
搜索失败,提示403错误
原因:你的searXNG实例没有开启JSON响应格式。这是最常见的问题。
解决:请务必检查你的searXNG配置文件settings.yml,确保search.formats列表中包含json,然后重启searXNG服务。
配置后AI没有调用搜索工具
原因:可能是MCP服务器没有正确连接到客户端,或配置文件格式有误。
解决:首先检查客户端配置文件(JSON格式)是否正确,例如路径、大括号、逗号等。其次,完全退出并重启客户端,而不是仅仅关闭窗口。你可以在客户端内寻找是否有查看已连接MCP服务器的选项或日志,以确认searxng-search服务器状态是否为“已连接”。
搜索没有返回任何结果
原因:可能是你的searXNG实例不稳定,或者搜索的关键词没有得到任何结果。
解决:尝试直接在你的浏览器中访问searXNG实例,用同样的关键词手动搜索一下,看是否能返回结果。如果能,则问题可能出在网络连接或MCP服务器配置上;如果不能,则需要检查你的searXNG实例。
七、总结
MCP-searxng是一个小巧而精致的项目,它完美诠释了“做一件事,并把它做好”的理念。它没有试图构建一个庞大而复杂的系统,而是专注于解决AI领域一个非常具体且重要的痛点:实时信息获取。通过巧妙地利用MCP协议和注重隐私的searXNG搜索引擎,它为AI应用开发者提供了一个简单、可靠、可扩展的解决方案。无论你是希望为自己的智能体项目增加联网搜索功能的开发者,还是一位追求隐私与效率的技术爱好者,MCP-searxng都值得你投入时间去尝试。它不仅能让你的AI变得“耳聪目明”,更能让你亲身体验到模块化、标准化的AI组件是如何协作,从而迸发出强大力量的。
The explanation of the core advantages is very persuasive. I was using a different MCP search server, but the privacy aspect of SearXNG and the simplicity of this one made me switch. Good job.
I had an issue with a 403 error and was about to give up. The common problems section pointed me directly to the JSON format fix. Please keep this article updated; it's a great resource.
Nice tutorial. However, the article mentions a URL reading feature, but the basic `mcp-searxng` on PyPI only shows the search prompt. Is that from a different fork? A little clarification there would be good.
The `uv` setup instructions were a bit confusing for me as a Windows user because of the absolute path format. I figured it out, but maybe an example with Windows backslashes could help others.
I love how this bridges the gap between static LLM knowledge and live data. The author’s insight about the “middleman” concept is explained in a way that even non-developers can grasp. Well written.