# SearXNG MCP Bridge [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/bocklabs/searxng-mcp-bridge  
**GitHub Stars:** 0  
**npm Downloads (last month):** 1036  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/bocklabs-searxng-mcp-bridge

## Description
Web search through your own SearXNG instance. Local stdio server.

## Tools
Capabilities this server exposes over MCP:

- **search** — Perform a search using the configured SearxNG instance
- **health_check** — Check the health and connectivity status of the SearxNG bridge

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "searxng-mcp-bridge": {
    "command": "npx",
    "args": ["-y","@bocklabs/searxng-mcp-bridge"],
    "env": {
      "SEARXNG_INSTANCE_URL": ""
    }
  }
}
```

**Requires environment variables:** `SEARXNG_INSTANCE_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## 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.

_Full upstream README: https://allmcps.com/mcp/bocklabs-searxng-mcp-bridge/readme_

