MCP SearXNG logo

MCP SearXNG

by Ihor-Sokoliuk

Searches through SearXNG, suggests queries, inspects instance capabilities, and reads web pages as Markdown over MCP.

Install MCP SearXNG

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ihor-sokoliuk-mcp-searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

Ihor-Sokoliuk/MCP-SearXNG connects MCP clients to a configured SearXNG instance for web search, suggestions, capability discovery, and URL reading. It supports local STDIO processes and independently hosted Streamable HTTP services, with SearXNG selected through the `SEARXNG_URL` environment variable. Search results can be paginated and filtered, while `web_url_read` extracts HTML, structured text, XML, JSON, and bounded PDF content. Reach for it when an agent needs search and source retrieval through an operator-controlled or trusted SearXNG deployment.

Use cases

  • Search the web through a configured SearXNG instance
  • Refine incomplete queries with autocomplete suggestions
  • Inspect available SearXNG engines and categories
  • Read and extract text from search result URLs
  • Retrieve bounded text from PDF documents

Key features

  • SearXNG web search with pagination and filters
  • Autocomplete query suggestions
  • SearXNG instance capability discovery
  • Markdown and structured-content URL extraction
  • Bounded PDF text extraction without OCR
  • STDIO and Streamable HTTP transports

Tools4

What MCP SearXNG lets your agent do. Expand a tool for its parameters.

Verified live~1.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

18/18 checks healthy over the last 78d

Supply-chain signal

2 high-severity advisories on record for this package. Most advisories affect transitive dependencies and may not be exploitable in this server's actual usage — this is a directional signal, not a security audit.

Critical 0High 2Medium 3Low 0

Scanned 10d ago via OSV.dev · mcp-searxng (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1.3kStargazers on the source repository.
npm downloads39kPackage downloads in the last 30 days.
Last commit1d agoMost recent push to the default branch.
Tools exposed4Callable tools this server registers over MCP.
Directory activity5 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP SearXNG works

What Ihor-Sokoliuk/MCP-SearXNG does

Ihor-Sokoliuk/MCP-SearXNG exposes SearXNG search and web-reading functions as MCP tools. It does not install or operate SearXNG itself; the MCP client must connect through an existing SearXNG service with JSON search enabled. The service may be self-hosted, operated by the user, or selected from a public deployment.

Search responses contain result titles, URLs, and content snippets. Agents can request later pages, restrict searches by language or time range, and select engines when the configured SearXNG instance supports the requested combination. A separate URL reader retrieves readable content from individual result pages, making the server suitable for workflows that first find sources and then inspect them.

How it works

The request path is an MCP client, the MCP server, SearXNG, and then the search engines configured by SearXNG. In local deployments, the client starts the server as a Node.js process or Docker container over STDIO. HTTP deployments expose the MCP service separately and use the full /mcp endpoint in the client configuration.

SEARXNG_URL identifies the SearXNG service, not the MCP endpoint. Multiple interchangeable SearXNG replicas can be configured as a semicolon-separated list. URL reading fetches the selected website directly rather than routing page content through SearXNG.

Privacy depends on the selected SearXNG deployment. An operator-controlled instance can reduce reliance on a third-party search operator, while a public instance receives the search query and may log it. Neither SearXNG nor this MCP layer independently guarantees anonymity.

Setup and configuration

Node.js 22 or later is required for NPX and npm installations. A minimal MCP client configuration starts the package with NPX and supplies the SearXNG base URL:

config.json
{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": ["-y", "mcp-searxng"],
      "env": {
        "SEARXNG_URL": "https://search.example.com"
      }
    }
  }
}

The package can also be installed globally with npm, run from the published Docker image, or built locally from the repository. Docker deployments must forward SEARXNG_URL into the container. Leave MCP_HTTP_PORT unset for local STDIO; configure an HTTP service when the client should connect to an independently running server.

Optional configuration supports replica failover or fan-out, caching, proxies, HTML fallback, and browser solvers. Docker deployments can pass FLARESOLVERR_URL and BYPARR_URL when those services are available. Browser-solver behavior uses FlareSolverr first and Byparr after eligible busy or transient-unavailable conditions.

Tools and capabilities

  • searxng_web_search requires a parameter named exactly query. It returns search results with titles, URLs, and snippets, and accepts pagination plus filtering such as time_range and language.
  • searxng_search_suggestions provides autocomplete suggestions for incomplete or unclear queries.
  • searxng_instance_info reads reachable SearXNG /config endpoints to report categories, engines, defaults, locales, and plugins.
  • web_url_read converts HTML to Markdown, pretty-prints JSON, and returns readable fenced text for plain text, YAML, TOML, and XML. It can return a whole page, content under a named heading, or headings only. Large pages can be paginated with startChar and maxLength.

PDF text extraction is bounded by input, output, page, time, concurrency, and memory limits. OCR is not supported. Binary, media, archive, and other octet-stream downloads are rejected rather than returned as raw data. Unreachable URLs or failed extraction produce an error string.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP SearXNG

Ihor-Sokoliuk/MCP-SearXNG is an MCP server that connects AI clients to configured SearXNG instances for web search and exposes searxng_web_search, searxng_search_suggestions, searxng_instance_info, and web_url_read. It supports query refinement, capability discovery, and readable page retrieval over local STDIO or Streamable HTTP.

Install it with NPX, npm, or Docker. NPX requires Node.js 22 or later; add `npx -y mcp-searxng` to the MCP client configuration and set `SEARXNG_URL` to an existing SearXNG instance. Docker users must forward the same environment variable into the container.

Yes, it works with Cursor through the client's MCP configuration. Run the server locally over STDIO or connect Cursor to an independently hosted Streamable HTTP service, and configure `SEARXNG_URL` for the SearXNG service.

Set `SEARXNG_URL` to the base URL of an existing SearXNG instance with JSON search enabled. It identifies the search service rather than the MCP endpoint; optional browser-solver deployments can additionally use `FLARESOLVERR_URL` or `BYPARR_URL`.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP SearXNG AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ihor-sokoliuk-mcp-searxng?style=directory)](https://allmcps.com/mcp/ihor-sokoliuk-mcp-searxng)
HTML Embed
<a href="https://allmcps.com/mcp/ihor-sokoliuk-mcp-searxng"><img src="https://allmcps.com/api/badge/ihor-sokoliuk-mcp-searxng?style=directory" alt="MCP SearXNG on AllMCPs" /></a>