
SearXNG HTTP MCP
io.github.whw23由 GitHub 账号 whw23 发布v2026.55.0更新于 Oct 24, 2026
Self-contained SearXNG metasearch MCP server. One Docker image, 200+ engines, privacy-first.
概览
自包含的 SearXNG 元搜索 MCP 服务器,让助手通过 200 多个引擎进行注重隐私的网页搜索,并支持分类、自动补全和引擎发现。
- 可以做什么
- 通过 SearXNG 在 200 多个引擎上搜索网页,可按分类、引擎、语言、时间范围、安全搜索和结果数量筛选,支持最多 5 页并行抓取以及精简或完整输出格式。为不完整的查询获取自动补全建议。查询已启用的引擎和分类,以便精准指定搜索范围。通过内置的 SearXNG 网页界面配置引擎和语言。
- 适用场景
- 当助手需要通用网页搜索结果、又不想使用付费搜索 API,并希望搜索流量经过自托管的、注重隐私的元搜索实例时使用。适合一次 Docker 部署服务多个客户端,或本地 stdio 容器无需额外配置的场景。
- 运行要求
- 以本地进程方式运行:Docker 镜像(ghcr.io)的 stdio 模式,或在指定端口上的 HTTP 服务模式;uvx 模式需要 Python 3.14+ 以及一个已存在的 SearXNG 实例,由 SEARXNG_URL 指定。自包含模式需要 Docker。搜索需要网络访问。API_KEY 可选,用于启用身份验证。
安装
在 SourceWeft 中
- 打开 控制台中的 SearXNG HTTP MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[License] [Docker Image] [Build Status] [Python 3.14+] [Transport] [MCP Compatible] [PyPI] [MCP Registry] [OpenSSF Scorecard] [OpenSSF Best Practices] [Mentioned in Awesome MCP Servers] [Glama score]
中文 · Quick Start · Features · Architecture · Comparison · Usage · MCP Tools · Client Config · Plugin · Contributing
A self-contained MCP server that wraps SearXNG — a free, privacy-respecting metasearch engine that aggregates results from 200+ search engines.
🚀 Quick Start
Server mode — deploy once, connect from any client:
Then connect your client to http://YOUR_HOST:YOUR_PORT/mcp/. To enable API key auth, see Authentication.
Local mode — no server needed, run directly in your client:
Add this as a stdio MCP server in your client — see Client Configuration for details.
uvx mode — if you already have SearXNG running (install guide):
Set SEARXNG_URL to point to your SearXNG instance (default: http://127.0.0.1:8080).
✨ Features
Search
- 🔍 200+ search engines — Google, Bing, DuckDuckGo, Brave, and more via SearXNG
- 📂 30+ categories — news, images, videos, science, IT, and more
- 📄 Multi-page fanout — up to 5 pages per call
- 💡 Autocomplete suggestions — discover relevant search terms
- 🗂 Engine discovery — query available engines grouped by category
- 🎯 Token-efficient — results trimmed to essentials
Infrastructure
- 📦 Self-contained — SearXNG built into Docker image
- 🔄 Triple transport — HTTP server, Docker stdio, and uvx standalone
- 🔐 Authentication —
x-api-key+ HTTP Basic Auth - 🌐 Reverse proxy — SearXNG Web UI on the same port
- ⚡ Dynamic tool descriptions — live category lists injected at startup
- 📐 Rich JSON Schema — enum constraints, range limits, and descriptions on every parameter
🏛 Architecture
📊 Comparison with Alternatives
Why these five?
There are 20+ SearXNG MCP servers and many more general-purpose search MCPs. Most SearXNG wrappers only expose a basic search tool, leaving SearXNG's categories, autocomplete, and engine metadata unused. We picked five alternatives that each represent a distinct category:
- 88plug/searxng-mcp — richest tool surface among SearXNG MCPs (7 tools: rendered fetch, research mode, parallel queries)
- ihor/mcp-searxng — most GitHub stars among SearXNG MCPs
- open-webSearch — top free multi-engine alternative outside the SearXNG ecosystem (Bing, Baidu, DuckDuckGo, Brave, etc.)
- exa-mcp-server — most popular commercial search API MCP
- Perplexity MCP — commercial AI-powered search, highest star count in the search MCP space
Why fewer tools?
MCP is designed for composition — clients connect multiple specialized servers, each doing one thing well. Some alternatives bundle URL fetching, rendered page extraction, multi-query fan-out, or research modes into the search server. We keep the tool surface to three (search, autocomplete, engine discovery) by design:
- URL fetching is a separate concern. MCP clients already ship dedicated tools (WebFetch, Playwright MCP, Jina Reader). Bundling fetch into a search server mixes responsibilities and duplicates the client ecosystem.
- Multi-query parallel search is client-side orchestration. LLM clients can fire multiple
searchcalls in parallel — asearch_manytool only adds token overhead for tool selection with no real benefit. - Research / synthesis belongs in the LLM layer. The model is the best synthesizer. Pushing multi-step research logic into the MCP server couples application concerns to infrastructure.
Instead we invest in what the alternatives above lack: complete SearXNG API coverage (categories, autocomplete, engine metadata — capabilities most wrappers leave on the table), self-contained deployment, authentication, Web UI reverse proxy, and AI coding agent plugin integration (Claude Code / Copilot CLI / Codex CLI).
📖 Usage
🌐 HTTP Mode (default)
📡 stdio Mode
No ports exposed. Communication via stdin/stdout. SearXNG runs internally for the MCP tools.
🐍 uvx Mode
Requires Python 3.14+ and an existing SearXNG instance. No Docker needed.
⚙️ Environment Variables
🔐 Authentication
When API_KEY is set, all requests require one of:
x-api-keyheader — for MCP clients:x-api-key: your-key- HTTP Basic Auth — for browsers
[!TIP] Browser Login: When accessing the Web UI with
[Browser Login Dialog]API_KEYenabled, the browser will show a login dialog. Leave the username empty and enter your API key as the password.
When API_KEY is not set, all requests are open.
🔧 MCP Tools Reference
🔍 search — Search the web using SearXNG
Aggregates results from 200+ search engines with privacy.
Returns: results, answers, suggestions, corrections, infoboxes.
💡 autocomplete — Get search query suggestions
🗂 engine_info — Discover available engines and categories
No parameters. Returns the list of enabled engines grouped by category.
Returns:
Use this to discover what engines are available before calling search with specific engines or categories filters.
🔌 Client Configuration
The following is a baseline server-mode (remote HTTP) example using the standard mcpServers JSON structure. Many clients accept this structure, but field names and required type values differ — see the NOTE below and adjust for your client:
[!NOTE] Field-name differences: ZCode uses
mcp.servers; Kilo Code uses a top-levelmcpkey with"type": "remote"; Windsurf usesserverUrlinstead ofurl; VS Code Copilot uses a top-levelserverskey; OpenCode nests undermcpwith"type": "remote"; Codex and Hermes usemcp_servers(TOML/YAML). For Claude Code,"type": "http"is required — without it the entry is read as a stdio server and skipped. For Cline, set"type": "streamableHttp"on remote HTTP servers.
[Claude] Claude Desktop
Server mode — edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Local mode:
uvx mode:
[Claude] Claude Code
Server mode (CLI):
Server mode (JSON) — the same mcpServers structure works in a team-shared project .mcp.json or a user-wide global ~/.claude.json:
Local mode:
uvx mode:
[Cline] Cline
Configure via Cline's MCP settings panel in VS Code (Cline > MCP Servers > Add).
Server mode:
Local mode:
uvx mode:
🟦 ZCode (Zhipu AI · GLM)
Server mode — edit ~/.zcode/cli/config.json (user-wide) or .zcode/config.json (project):
Local mode:
uvx mode:
ZCode also accepts the standard mcpServers structure (e.g. in .agents/mcp.json). Alternatively, add servers via Settings → MCP Servers → New MCP Server.
⚡ Kilo Code
Server mode — edit ~/.config/kilo/kilo.jsonc (global) or .kilo/kilo.jsonc (project):
Local mode:
uvx mode:
🥧 Pi
Install the MCP adapter once, then add a standard mcpServers block — e.g. in ~/.pi/agent/mcp.json (all projects) or .pi/mcp.json (project):
Restart Pi after installing.
Server mode:
Local mode:
uvx mode:
🧩 AI Coding Agent Plugin
Compatible with Claude Code, GitHub Copilot CLI, and OpenAI Codex CLI. Add the marketplace, then install the plugin that fits your setup:
All plugins include:
- 🔍
/web-search-via-searxngskill — search the web with category selection guide and usage rules - 🤖
web-searcheragent — research subagent with:- 🌐 Multi-language parallel search — auto-detects query language, searches in multiple languages for broader coverage
- 🛡 Source credibility tiers — Tier 1/2/3 classification with AI poisoning defense
- ✅ Cross-validation — key facts require 2+ independent sources
- 🔍 WebFetch deep reading — reads full pages from credible sources, not just snippets
- 🔄 Multi-round iterative search — up to 3 rounds with automatic deepening on gaps
- ⏱ Timeliness evaluation — flags outdated content, states source date ranges
- 📝 Footnote-style references — structured output with inline source citations
🐍 Standalone mode — uvx, no Docker, bring your own SearXNG
Runs via uvx. Requires Python 3.14+ and an existing SearXNG instance. Set SEARXNG_URL in ~/.claude/settings.json:
🐳 Local mode — Docker stdio, zero config
Runs SearXNG in a local Docker container via stdio. Requires Docker installed.
🌐 Remote mode — connect to a deployed server via HTTP
Connects to a deployed SearXNG MCP server. Requires env vars SEARXNG_MCP_URL and SEARXNG_API_KEY.
Add to ~/.claude/settings.json under the env field:
Then restart Claude Code.
🛠 SearXNG Configuration
🖥 Via Web UI
Access the SearXNG Web UI at http://YOUR_HOST:YOUR_PORT/ to configure search engines, languages, and other settings. Changes persist during the container's lifetime.
💾 Via Volume Mount — persistent configuration
Mount the SearXNG config directory for persistent configuration:
SearXNG generates settings.yml on first startup. The container automatically enables JSON format output required by MCP tools.
🏗 Build from Source
🤝 Contributing
See CONTRIBUTING.md for the full workflow, CI requirements, and development setup.
- 🍴 Fork the repository and enable GitHub Actions in your fork
- 🌿 Create a feature branch from
dev - ✍️ Make your changes
- ✅ Run tests:
pytest tests/ -v— CI must pass in your fork before opening a PR - 📬 Submit a PR to
dev
Development happens on the dev branch. Merges to main trigger image builds.
📄 License
MIT — MCP server code.
SearXNG itself is licensed under AGPL-3.0-or-later.
来源:README.md,提交 e75d94a
工具
0版本历史
1- v2026.55.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分