← Back to directory
S

SearXNG Search

Community
Private web search through SearXNG.
Category
Other #64 of 230
Stars
★ 1.3k Very popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Node.js 20+ · Docker
Credentials
No credential needed
License
MIT
Last commit
Tools
4
61FMRS · C

Based on the repository description, server manifest, and README, this is a third-party MIT-licensed SearXNG MCP server at version 1.12.0. It uses stdio by default and also supports optional Streamable HTTP transport.

Strongest · Documentation 16/20 Weakest · Reliability 10/20

Reliability
10/20
Security and permissions
12/20
Maintenance
10/20
Documentation
16/20
Setup experience
13/20
Why each score
Reliability 10/20
The README and manifest describe STDIO and HTTP transports, search, suggestions, instance discovery, and URL reading, including input limits, caching, failover, and several error cases, so the happy path is plausible. However, no source code, CI workflows, or committed tests were provided to verify MCP initialization, tool-list consistency, dependency behavior, or edge-case failures. Under the static calibration, the score therefore cannot exceed 12 and is reduced further for the missing evidence.
Security and permissions 12/20
The evidence indicates that credentials are supplied through environment variables and marked secret; URL reading reportedly blocks private addresses and redirects by default, while HTTP mode offers optional bearer authentication, CORS controls, and rate limiting. No write, delete, payment, or remote-command capability is declared. Deductions reflect that these are documentation claims without source-code verification, complete data-flow review, or confirmation of proxy/TLS behavior, and there is no demonstrated fine-grained permission model or dangerous-request confirmation.
Maintenance 10/20
The project has an MIT license, is not archived, reports version 1.12.0, and exposes public repository and npm distribution paths, providing basic maintenance signals. The score is reduced because no commit history, release cadence, dependency-update evidence, issue-response record, maintainer accountability, or security-response channel is supplied. Stars and open issue counts are not used as quality evidence.
Documentation 16/20
The README covers installation, STDIO/HTTP configuration, environment-variable entry points, tool parameters, pagination and filtering, content types, SSRF protection, HTML fallback, failover, troubleshooting, and Docker examples. It is comparatively thorough, but independently reviewable configuration and security implementation details are absent, cost/resource limits are not fully evidenced, and referenced configuration documentation and tests were not provided.
Setup experience 13/20
The README gives npx, global npm, Docker, Compose, and mainstream MCP-client examples, and identifies the SearXNG instance URL as the only required variable. HTTP endpoints and local binding behavior are also described. Deductions apply because users must first provision and configure a working SearXNG instance, while JSON API, network, TLS, or authentication issues may require manual troubleshooting; no CI, integration tests, or verifiable end-to-end connection evidence is included.

Static review · not runListed 2026-07-29

Read the FMRS scoring method →

Fit and risk

What it can accessUses the network

Best for

  • Users who want self-hosted search infrastructure
  • Teams with an existing SearXNG instance and privacy requirements
  • MCP clients that need paginated search and URL reading

Not for

  • Users without an accessible SearXNG instance
  • Users seeking a native SearXNG plugin installation
  • Workflows that require reading PDFs, media, archives, or other binary downloads

Required permissions

  • Requires access to the configured SEARXNG_URL, which the manifest marks as required and secret.
  • May use AUTH_USERNAME and AUTH_PASSWORD for legacy global SearXNG Basic Auth.
  • Search queries are passed to external search services, and web_url_read makes requests to user-specified URLs.

Risks and side effects

  • Privacy depends on the connected SearXNG instance and its configuration.
  • Search queries may be passed to external services used by SearXNG.
  • URL reading creates outbound requests; private or internal URLs and redirects are blocked by default, but network deployments should still enable and configure hardening.
  • HTML fallback depends on the instance's page structure and may return fewer results without relevance scores or engine names.

Setup

Before you start

Runtime:Node.js 20+ · Docker

SEARXNG_URL required URL of your SearXNG instance (semicolon-separated replicas allowed); obtain it from your instance operator or self-hosted setup.
AUTH_USERNAME optionalsecret Legacy global SearXNG Basic Auth username; only set if the instance requires Basic Auth.
AUTH_PASSWORD optionalsecret Legacy global SearXNG Basic Auth password; only set if the instance requires Basic Auth.
Other optional settings (12)
SEARXNG_DEFAULT_RESPONSE_FORMAT optional Operator default output format (text or ) for search calls that omit response_format.
SEARXNG_MAX_RESULTS optional Operator ceiling on the number of results per search; set as needed.
SEARXNG_FANOUT optional When enabled, queries all healthy replicas in parallel and merges results.
SEARXNG_HTML_FALLBACK optional Set to true to retry searches without format= and parse the HTML results page when the instance returns 403/404 or non-JSON.
URL_READ_MAX_CONTENT_LENGTH_BYTES optional Byte cap for URL reading and PDF extraction; set as needed.
FLARESOLVERR_URL optional FlareSolverr browser-solver service URL for bypassing anti-bot challenges; fill in after self-hosting FlareSolverr.
BYPARR_URL optional Byparr browser-solver service URL, used as secondary to FlareSolverr; fill in after self-hosting Byparr.
MCP_HTTP_PORT optional Listen port for HTTP transport mode; only needed when running as a standalone process.
MCP_HTTP_HOST optional HTTP bind address, defaults to 127.0.0.1; set 0.0.0.0 for remote or containerized deployments.
MCP_HTTP_STATELESS optional Set to true to enable POST-only stateless mode for serverless or horizontally scaled deployments.
MCP_HTTP_HARDEN optional Enables hardened HTTP mode; recommended before exposing the service on a network.
MCP_HTTP_TRUST_PROXY optional Configures proxy trust so rate limiting and logs use the correct client IP.

Add the install configuration to your MCP client and replace SEARXNG_URL with the URL of your SearXNG instance. Global npm installation, Docker, and Docker Compose are also documented. SEARXNG_URL is the only required variable. For HTTP mode, set MCP_HTTP_PORT and connect to the /mcp endpoint.

claude_desktop_config.json
{"mcpServers":{"searxng":{"command":"npx","args":["-y","mcp-searxng"],"env":{"SEARXNG_URL":"YOUR_SEARXNG_INSTANCE_URL"}}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add searxng -e SEARXNG_URL=YOUR_SEARXNG_INSTANCE_URL -- npx -y mcp-searxng

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

The client's tool list should show searxng_web_search, searxng_search_suggestions, searxng_instance_info, and web_url_read; running one search that returns results proves the connection to the instance at SEARXNG_URL works.

Troubleshooting

  1. Confirm that SEARXNG_URL points to a reachable SearXNG instance.
  2. For 403 errors, verify that SearXNG search.formats includes json; if the instance cannot be changed, enable SEARXNG_HTML_FALLBACK=true.
  3. Check whether the instance requires AUTH_USERNAME and AUTH_PASSWORD.
  4. For HTTP deployments, check MCP_HTTP_PORT and MCP_HTTP_HOST, then verify the service through /health.
  5. For TLS failures, check corporate proxy or custom CA configuration.

Things to try

Once connected, you can ask your AI assistant things like:

  • Search the web for the latest SearXNG release and return the top 5 results
  • Read the page at https://docs.searxng.org and convert it to Markdown
  • Give me autocomplete suggestions for the query 'privacy search engine'
  • Show the categories and enabled engines of the configured SearXNG instance

Tools 4

searxng_web_search read-only
Runs web searches with pagination, time-range, language, safe-search, relevance, category, and engine filters, returning formatted text or raw JSON.
searxng_search_suggestions read-only
Gets autocomplete suggestions from SearXNG for a partial or complete query.
searxng_instance_info read-only
Discovers categories, engines, defaults, locales, and plugins exposed by reachable SearXNG instances.
web_url_read read-only
Fetches URL content and converts it to Markdown; supports HTML, JSON, plain text, section and paragraph extraction, and heading-only output.

Use cases

Perform web, news, and article searches through SearXNG from an AI assistant
Read web pages and extract sections, paragraphs, or headings
Use interchangeable SearXNG replicas for failover or parallel fan-out
Inspect the categories and engines supported by configured instances

Supported clients

Claude Desktop
Cursor

Listed from the project's documentation, not tested by this site.

Overview

SearXNG Search is a standalone MCP server that connects one or more SearXNG instances to AI assistants. It provides web search, query suggestions, instance capability discovery, and URL content reading, with pagination, filters, caching, failover, and optional HTTP transport.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 659 · Tools 11 Compare with this →

Source revision 032ba85a4db4 Data synced 2026-10-19 Read the FMRS scoring method