mcp-searxng

让 AI 助手用你自己的 SearXNG 搜网页,隐私可控

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1292
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类搜索知识
开发团队ihor-sokoliuk
所属国家
官网地址
定价模式free
价格说明开源免费,需自行部署SearXNG
访问状态
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型ai,claude,cursor,llm,mcp,mcp-server,mcp-servers,privacy,search,searxng,self-hosted,web-search
GitHub 星标★ 1292
30天Star增速
HF 下载量
上线时间2024-12-23 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-11
浏览次数0

项目介绍

mcp-searxng 是一个基于 Model Context Protocol(MCP)的搜索服务端,把自建的 SearXNG 元搜索引擎接入 Claude、Cursor 等支持 MCP 的 AI 客户端。它解决的核心问题是:主流 AI 助手默认联网搜索依赖厂商云服务,存在隐私泄露、结果不可控、无法自建等痛点。项目通过标准 MCP 协议暴露搜索工具,AI 调用时实际请求你部署的 SearXNG 实例,聚合 Google、Bing、DuckDuckGo 等多引擎结果,全程不经过第三方搜索 API。核心能力包括:一键接入任意 MCP 客户端、支持自托管 SearXNG、返回结构化搜索结果、TypeScript 实现便于二次开发。适合注重隐私、希望掌控搜索链路的开发者和团队。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:本地安装 7 步

环境要求

  • 已有一个启用 JSON 搜索格式的 SearXNG 实例(本项目不负责安装 SearXNG)
  • Node.js 22 或更高版本(NPX / npm 安装方式需要,Docker 镜像自带运行时)
  • 支持 MCP 的 AI 客户端,如 Claude Desktop、Cursor 等
  • 可选:Docker,用于容器方式运行

安装与启动步骤

  1. 1准备 SearXNG 实例

    必须已有一个开启 JSON 搜索格式的 SearXNG,且是你自建或信任的实例。本项目只做连接,不会安装 SearXNG。

  2. 2安装 Node.js

    使用 NPX 或 npm 方式前,先装好 Node.js 22 或更高版本;用 Docker 则跳过此步。

  3. 3写入客户端配置

    在客户端的 mcpServers 配置中加入 searxng 条目,把示例 URL 换成你自己的 SearXNG 地址;其他客户端配置格式不同。

    {
      "mcpServers": {
        "searxng": {
          "command": "npx",
          "args": ["-y", "mcp-searxng"],
          "env": { "SEARXNG_URL": "https://search.example.com" }
        }
      }
    }
  4. 4NPX 直接运行

    客户端会按上面的配置自动拉起本地服务进程,无需手动常驻运行;本地 STDIO 模式不要设置 MCP_HTTP_PORT。

    npx -y mcp-searxng
  5. 5或全局安装 npm 包

    想用全局命令 mcp-searxng 代替 npx 时执行;安装后把配置里的 command 改成 mcp-searxng。

    npm install -g mcp-searxng
  6. 6或使用 Docker 镜像

    拉取官方预构建镜像,配置中把 command 换成 docker 并按 README 传入 -e SEARXNG_URL;也可从 Dockerfile 本地构建。

    docker pull isokoliuk/mcp-searxng:latest
  7. 7重载并验证

    重载客户端,检查 MCP 工具清单里出现 searxng_web_search,然后让它实际搜一次;只看到工具不代表连通。

关键配置

配置项必填说明示例
SEARXNG_URL是你的 SearXNG 实例基础地址,默认本地部署下唯一必填项https://search.example.com
MCP_HTTP_PORT否启用 HTTP 服务时的监听端口;本地 STDIO 模式请保持不设置8080
MCP_HTTP_HOST否HTTP 服务的容器侧绑定地址0.0.0.0
FLARESOLVERR_URL否接入 FlareSolverr 浏览器求解器时填写,需容器可访问http://flaresolverr:8191
BYPARR_URL否接入 Byparr 求解器时填写,可与 FlareSolverr 同时使用http://byparr:8191

如何确认成功

重载客户端后在 MCP 工具清单中看到 searxng_web_search,并用 {"query":"SearXNG"} 实际调用一次成功返回结果。

常见问题

Q:这个项目会帮我安装 SearXNG 吗?

A:不会。它只把 MCP 客户端连到你已有的 SearXNG,该实例必须开启 JSON 搜索格式,可参考官方自托管或公共实例文档。

Q:调用搜索报错怎么排查?

A:先确认 SEARXNG_URL 正确、实例可访问且已启用 JSON 格式,再按官方 troubleshooting 文档逐项检查。

Q:本地 STDIO 模式要设 MCP_HTTP_PORT 吗?

A:不要设置。本地 STDIO 请保持 MCP_HTTP_PORT 未设置,只有需要独立 HTTP 服务时才配置。

Q:Docker 方式怎么传额外环境变量?

A:在 args 中追加 -e VAR_NAME,同时在客户端的 env 里给出该变量,两者缺一不可。

Q:Docker Compose 能用 docker compose up 启动吗?

A:不能。仓库自带的 Compose 文件是 STDIO 专用,需用 docker compose run --rm -T,-T 避免分配伪终端。

注意事项

  • 本项目不安装 SearXNG,务必先准备好启用 JSON 搜索格式的实例。
  • Docker Compose 在客户端未提供 SEARXNG_URL 时会直接启动失败。
  • 仓库自带的 Compose 文件只支持 STDIO,不发布任何网络端口。
  • 8080 端口的 override 配置没有认证,仅作临时单机迁移用途,不要暴露到本机之外。

核心亮点

  • 通过 MCP 标准协议接入,Claude、Cursor 等客户端配置即用,无需改代码
  • 搜索请求走自建 SearXNG,不依赖厂商搜索 API,隐私和数据链路完全自控
  • TypeScript 实现,结构清晰,便于按需扩展搜索源或定制返回格式

不足之处

  • 依赖用户自行部署并维护 SearXNG 实例,对非技术用户有上手门槛
  • 项目较新、星标约 1.3k,长期维护与社区生态仍待观察

适用场景

  • 在 Claude Desktop 中让 AI 实时搜索网页,但不想把查询发给厂商搜索服务
  • 团队内网部署 SearXNG,供 Cursor 等编码助手检索内部可访问的公开资料
  • 隐私敏感场景下,为多个 MCP 客户端统一提供可审计、可自控的搜索后端

替代项目

mcp-server-fetch、searxng

上一篇:hyperresearch

下一篇:brave-search-skills

同类项目推荐

firecrawl 开源

网页抓取像喝水一样简单,开发者省下整周加班

Supercharge your AI agents with data from the web and beyond. Building the library f···

★ 190179 2026-08-09
contoso-chat 开源

一键跑通 Azure RAG 应用,从代码到评估部署全流程

This sample has the full End2End process of creating RAG application with Prompty an···

★ 766 2026-08-09
graphify 开源

整个代码库画成一张图,找问题一眼定位

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···

★ 125239 2026-08-09
WeKnora 开源

文档往里一扔,自动变成啥都能答的知识库

Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an auto···

★ 33023 2026-08-09