general MCP Server
Private web search for AI assistants via SearXNG — supports Claude, Cursor, and any MCP client
Discovered via unknown and last synced 1d ago.
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)
(number, optional): Search page number, starts at 1 (default 1)
(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)
Required
Description
`http://localhost:8888`
(string, optional): Language code for suggestions (e.g., "en", "fr", "de") or "all" (default: "all")
(boolean, optional): Return only a list of headings instead of full content
Find sources and refine results
Read a known URL as text/Markdown
(number, optional): Starting character position for content extraction (default: 0)
(string, optional): Filter results by time range - one of: "day", "week", "month", "year" (default: none)
(number, optional): Minimum relevance score from 0.0 to 1.0. Results below this score are filtered out.
(number, optional): Maximum number of results to return, from 1 to 20. `SEARXNG_MAX_RESULTS` applies as an operator ceiling.
(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.
(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`.
(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.
(`application/json`, `*+json`) is pretty-printed in a fenced block
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.
(string, optional): Extract content under a specific heading (searches for heading text)
(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.
(boolean, optional): Include disabled engine names when `includeEngines` is true. (default: false)
text, YAML, TOML, XML, and other safe explicit `text/*` responses are returned as readable fenced text
binary, media, archive, and octet-stream downloads are intentionally rejected with a short hint instead of returning raw bytes
(string, optional): Return specific paragraph ranges (e.g., '1-5', '3', '10-')
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.
(string, optional): Filter categories and engines to a single category name.
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.
`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.
Complete or refine a query
(boolean, optional): Bypass the process cache and fetch fresh `/config` data. (default: false)
or generic content types are read under the existing size cap; non-binary bodies continue through the HTML-to-markdown path for compatibility
`url` (string): The URL to fetch and process
Inspect categories, engines and defaults
(`text/html`, `application/xhtml+xml`) is converted to markdown
(number, optional): Maximum number of characters to return
readable content:
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.
✓
✗
✓
Use it to
Next check