mcp-searxng

general MCP Server

Private web search for AI assistants via SearXNG — supports Claude, Cursor, and any MCP client

FreshInstall Ready
generalgeneral
3 views1,234 stars159 forksv2.2.0MIT

Why This Matters

Discovered via unknown and last synced 1d ago.

FreshInstall Ready
Source
unknown
Stars
1,234
Last synced
1d ago
Install
Instructions detected

Install

1. Install the package

npx -y mcp-searxng

2. Add to claude_desktop_config.json

{
  "mcpServers": {
    "mcp-searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ]
    }
  }
}

Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)

42
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (42)

pageno

(number, optional): Search page number, starts at 1 (default 1)

safesearch

(string enum, optional): Safe search filter level, one of `"0"` (None), `"1"` (Moderate), or `"2"` (Strict). Legacy numeric values `0`, `1`, and `2` are still accepted for backward compatibility. (default: instance setting)

Parameter

Required

Type

Description

No

`http://localhost:8888`

language

(string, optional): Language code for suggestions (e.g., "en", "fr", "de") or "all" (default: "all")

readHeadings

(boolean, optional): Return only a list of headings instead of full content

searxng_web_search

Find sources and refine results

web_url_read

Read a known URL as text/Markdown

startChar

(number, optional): Starting character position for content extraction (default: 0)

time_range

(string, optional): Filter results by time range - one of: "day", "week", "month", "year" (default: none)

min_score

(number, optional): Minimum relevance score from 0.0 to 1.0. Results below this score are filtered out.

num_results

(number, optional): Maximum number of results to return, from 1 to 20. `SEARXNG_MAX_RESULTS` applies as an operator ceiling.

categories

(string, optional): Comma-separated SearXNG categories (e.g. `"news"`, `"it,science"`). Live `/config` capabilities are aggregated across reachable instances; prefer `searxng_instance_info` `categories.common` for consistent multi-instance results. Known values are trimmed and normalized case-insensitively; unknown values are forwarded trimmed so SearXNG can ignore or honor them. If `/config` is unavailable, values are forwarded as-is with a warning. If omitted, each instance uses its server-side default.

engines

(string, optional): Comma-separated SearXNG engine names (e.g. `"google,bing,ddg"`, `"semantic scholar"`). Live `/config` capabilities are aggregated across reachable instances; prefer `searxng_instance_info` `engines.common.enabled` for consistent multi-instance results. Known values are trimmed and normalized case-insensitively, including engines disabled by default; unknown values are forwarded trimmed so SearXNG can ignore or honor them. If `/config` is unavailable, values are forwarded as-is with a warning, except when combined with `time_range`.

response_format

(string, optional): Response format, either `"text"` for formatted agent-readable output or `"json"` for raw SearXNG JSON with filtered/sliced `results`. If omitted, `SEARXNG_DEFAULT_RESPONSE_FORMAT` applies; if unset or invalid, `text` is used. An explicit `response_format` always takes precedence.

JSON

(`application/json`, `*+json`) is pretty-printed in a fenced block

At

default limits, dual-provider mode has an additive maximum of 150 seconds across the initial HEAD preflight, both solver attempts (including response grace), and the final direct fetch.

section

(string, optional): Extract content under a specific heading (searches for heading text)

result_detail

(string, optional): `"full"` (the default) preserves SearXNG metadata, warnings, provenance, answers, infoboxes, corrections, and suggestions. `"compact"` returns only title, URL, and the description/content snippet for every result; compact JSON uses exactly the `title`, `url`, and `content` keys. Use full when those research signals matter.

includeDisabled

(boolean, optional): Include disabled engine names when `includeEngines` is true. (default: false)

Plain

text, YAML, TOML, XML, and other safe explicit `text/*` responses are returned as readable fenced text

Other

binary, media, archive, and octet-stream downloads are intentionally rejected with a short hint instead of returning raw bytes

paragraphRange

(string, optional): Return specific paragraph ranges (e.g., '1-5', '3', '10-')

Clients

that explicitly send or auto-inject `response_format=text` continue to override the operator default. If omitted calls still return text after configuring JSON, inspect the arguments emitted by the MCP client.

category

(string, optional): Filter categories and engines to a single category name.

PDF

parsing has a separate 30-second worker budget after the response body is downloaded. On the direct path, the network fetch and parse take at most the configured fetch budget plus 30 seconds; configured browser-solver preflight and acquisition time is additional.

When

`FLARESOLVERR_URL` or `BYPARR_URL` is configured, an uncached URL is validated and checked by the HEAD size preflight before `mcp-searxng` attempts browser-session acquisition. With both set, FlareSolverr is attempted first and Byparr is attempted only after a busy slot, network/timeout failure, HTTP 408/429/5xx, or malformed/oversized response. Persistent provider 4xx, cancellation, solution-host validation failure, and solved non-2xx target status stop the chain. If every configured provider is busy or unavailable, one uncached direct fetch runs. Each attempted provider receives the original target URL; challenge success is not guaranteed.

searxng_search_suggestions

Complete or refine a query

refresh

(boolean, optional): Bypass the process cache and fetch fresh `/config` data. (default: false)

Missing

or generic content types are read under the existing size cap; non-binary bodies continue through the HTML-to-markdown path for compatibility

Inputs

`url` (string): The URL to fetch and process

searxng_instance_info

Inspect categories, engines and defaults

HTML

(`text/html`, `application/xhtml+xml`) is converted to markdown

maxLength

(number, optional): Maximum number of characters to return

Supported

readable content:

A

response declared as PDF must begin with the `%PDF-` signature; a mismatch usually indicates an interstitial or error page served with the wrong content type.

Pagination

Self-hosted

Partial

Tool

Use it to

Symptom

Next check