SearXNG MCP Bridge logo

SearXNG MCP Bridge

Bridges MCP clients to a self-hosted SearXNG instance for configurable web search and connectivity checks.

Install SearXNG MCP Bridge

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": {
    "bocklabs-searxng-mcp-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "@bocklabs/searxng-mcp-bridge"
      ],
      "env": {
        "SEARXNG_INSTANCE_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.

Automated check passed— started and listed 2 tools correctly (Today).

Overview

SearXNG MCP Bridge MCP server connects MCP clients to a self-hosted SearXNG metasearch instance and exposes search and health-check tools. Search requests support language, categories, time ranges, safe-search levels, output format, and result limits. It runs over stdio by default, with an optional streamable HTTP transport for web or remote clients. Use it when an agent needs web search through an instance you operate rather than a hosted search API.

Use cases

  • Search the web through a self-hosted SearXNG instance
  • Filter searches by language, category, date range, or safe-search level
  • Check SearXNG connectivity from an MCP client
  • Expose search tools over streamable HTTP

Key features

  • SearXNG-backed web search
  • Health and connectivity checks
  • Stdio and streamable HTTP transports
  • Configurable search filters and result limits
  • Five-minute response caching
  • HTTP authentication, CORS, and rate limiting

Tools2

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

Verified live~276 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 3d ago

Recent health check succeeded.

What it can do

From the 2 tools this server returned when we ran it.

Read-only tools · 2
Network at startup3 connections
Files written at startupNone
Install scriptsprepare
npm provenanceSigned build
Package age63 days
Maintainers1

Observed 2026-11-02 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12d ago via OSV.dev · @bocklabs/searxng-mcp-bridge (npm)

Adoption & maintenance

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

npm downloads1kPackage downloads in the last 30 days.
Last commit6d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed2Callable tools this server registers over MCP.

How SearXNG MCP Bridge works

What SearXNG MCP Bridge does

SearXNG MCP Bridge turns a SearXNG instance into an MCP tool provider. MCP-compatible clients can send web search requests through the bridge and receive structured results containing fields such as the result URL, title, content snippet, search engine, and score. The bridge is intended for use with a SearXNG deployment that has its JSON API enabled.

Two tools are available:

  • search accepts a required query and optional language, category, time-range, safe-search, response-format, and maximum-result settings.
  • health_check reports the connectivity and health state of the bridge and its SearXNG dependency, including response time, cache size, debug state, and version information.

How it works

The default transport is stdio, which suits desktop MCP clients that launch local processes. The bridge can also run with MCP Streamable HTTP. In HTTP mode, MCP JSON-RPC requests use /mcp; server notifications are delivered through a Server-Sent Events stream, and sessions are tracked with mcp-session-id headers. /healthz provides a separate HTTP health endpoint.

Search responses can be cached for five minutes, and transient failures are retried with exponential backoff for up to three attempts. At startup, the bridge checks its connection to SearXNG and reports connection diagnostics. HTTP mode adds session handling, CORS configuration, optional bearer authentication, per-IP rate limiting, DNS rebinding protection, and graceful shutdown behavior.

Setup and configuration

Running the bridge requires Node.js 25.x and a reachable SearXNG instance with its JSON API enabled. The required SEARXNG_INSTANCE_URL variable should contain the complete instance URL, such as http://localhost:8080.

Install and launch the package with npx:

bash
SEARXNG_INSTANCE_URL=http://localhost:8080 npx -y @bocklabs/searxng-mcp-bridge

This starts stdio mode. Set TRANSPORT=http to use HTTP, and configure PORT and HOST as needed. The --transport command-line option can select the transport and takes precedence over the TRANSPORT variable. HTTP deployments can additionally use CORS_ORIGIN for allowed origins and MCP_HTTP_BEARER for bearer-token authentication. Set SEARXNG_BRIDGE_DEBUG=true to enable debug logging.

A Docker image is also available from the repository's Dockerfile. Containers that need to accept external connections should bind the service to 0.0.0.0 rather than the default loopback address.

Tools and capabilities

The search tool takes query as a required string. Optional parameters include language codes such as en-US, category arrays such as general, images, or news, time ranges of day, week, month, or year, safe-search levels from 0 to 2, json or html output, and a maximum result count.

The health_check tool requires no parameters. It can be used to verify that the bridge can reach SearXNG and to inspect reported service and timing details.

Limitations and notes

The bridge depends on an independently running SearXNG service; it does not provide the search backend itself. SearXNG's JSON API must be enabled, and the configured URL must be reachable from the process or container running the bridge. HTTP mode listens on port 3002 by default, while the Docker example uses an explicitly configured port. Authentication is optional for HTTP endpoints, so deployments exposed beyond a trusted local environment should configure the available access controls.

Reviews

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

Frequently Asked Questions about SearXNG MCP Bridge

SearXNG MCP Bridge is an MCP server that connects MCP-compatible clients to a self-hosted SearXNG metasearch instance. Its main tools are `search`, for configurable web queries, and `health_check`, for checking bridge and SearXNG connectivity. It supports local stdio and optional streamable HTTP transports.

Run it with `npx -y @bocklabs/searxng-mcp-bridge` after setting `SEARXNG_INSTANCE_URL`. Node.js 25.x and a running SearXNG instance with JSON API support are required. Add the package command and environment variable to your MCP client's server configuration.

Set `TRANSPORT=http`, provide `SEARXNG_INSTANCE_URL`, and optionally set `PORT` and `HOST`. The bridge serves MCP requests at `/mcp` and a health endpoint at `/healthz`; `--transport=http` can be used instead of the transport environment variable.

Yes, SearXNG MCP Bridge works with Cursor through its MCP settings. Configure Cursor to launch `npx -y @bocklabs/searxng-mcp-bridge` and pass `SEARXNG_INSTANCE_URL` in the server's environment.

The `search` tool supports language, categories, time ranges, safe-search levels, JSON or HTML output, and a maximum result count. The required input is the search query; filters such as `news`, `images`, `day`, or `year` are optional.

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 PreviewSearXNG MCP Bridge AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/bocklabs-searxng-mcp-bridge?style=directory)](https://allmcps.com/mcp/bocklabs-searxng-mcp-bridge)
HTML Embed
<a href="https://allmcps.com/mcp/bocklabs-searxng-mcp-bridge"><img src="https://allmcps.com/api/badge/bocklabs-searxng-mcp-bridge?style=directory" alt="SearXNG MCP Bridge on AllMCPs" /></a>