SearXNG Search
NPM · MCP-SEARXNG · SCANNED SEP 20
MCP server for SearXNG — privacy-respecting web search with pagination, URL reading
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 27 of 107 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to ihor-sokoliuk/mcp-searxng). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 4 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability78
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1300 tokens (~216/item across 6 items; 4 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 4 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 5 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the SearXNG Search MCP server?
SearXNG Search runs locally as an npm package, launched with npx -y mcp-searxng. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · mcp-searxng
claude mcp add ihor-sokoliuk-mcp-searxng -- npx -y mcp-searxng
{
"mcpServers": {
"ihor-sokoliuk-mcp-searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
]
}
}
} {
"servers": {
"ihor-sokoliuk-mcp-searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
]
}
}
} codex mcp add ihor-sokoliuk-mcp-searxng -- npx -y mcp-searxng
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ihor-sokoliuk-mcp-searxng": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-searxng"
],
"enabled": true
}
}
} openclaw mcp add ihor-sokoliuk-mcp-searxng --command npx --arg -y --arg mcp-searxng
mcp_servers:
ihor-sokoliuk-mcp-searxng:
command: "npx"
args: ["-y", "mcp-searxng"] {
"McpServers": {
"ihor-sokoliuk-mcp-searxng": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"mcp-searxng"
]
}
}
} assistant mcp add ihor-sokoliuk-mcp-searxng -t stdio -c npx -a -y mcp-searxng
{
"mcpServers": {
"ihor-sokoliuk-mcp-searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
- Stability: 0.97 → pass security
- 18 Sept 26 −1
- Stability: pass → 0.97 functional
- 17 Sept 26 +1
- Stability: 0.97 → pass security
- 16 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 15 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Package version: 2.2.0 → 2.3.0 functional
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −3
- Stability: pass → 0.80 functional
- 10 Sept 26 +1
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/mcp-searxng@2.3.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | ihor-sokoliuk/mcp-searxng |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/ihor-sokoliuk/mcp-searxng/.github/workflows/npm-publish.yml@refs/tags/v2.3.0 |
| Rekor log index | 2845180055 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:cf7efbac2407a16ffa191095c542650e88c855cac916dfd76be63a093520079b63a06b192c13bf2cb4be3ce3091ccfd80480cf5028f65b3276a107740 |
Background: How many MCP packages publish verified provenance →
Dependencies 107 packages
| Packages resolved | 107 |
|---|---|
| Stale | 27 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
searxng_instance_info ~114
Discovers capabilities from all reachable configured SearXNG instances via /config, including categories.common/available, engines.common/available, defaults, locales, and plugins.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter categories and engines to a single category name. |
| includeDisabled | boolean | – | Include disabled engine names when includeEngines is true. |
| includeEngines | boolean | – | Include enabled engine names in the response. |
| refresh | boolean | – | Bypass the process cache and fetch fresh /config data. |
No output schema declared.
No examples provided.
searxng_search_suggestions ~80
Returns autocomplete suggestions from the configured SearXNG instance. Use this to refine vague or partial queries before searching.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | Language code for suggestions (e.g., 'en', 'fr', 'de') or 'all'. Default: all. |
| query | string | yes | Partial or complete query to autocomplete. |
No output schema declared.
No examples provided.
searxng_web_search ~703
Searches the web using SearXNG and returns a list of results, each with a title, URL, and content snippet. CRITICAL: The required parameter name is exactly `query` (not `prompt`, `q`, or any other name). Calls an external SearXNG instance; availability depends on the `SEARXNG_URL` configuration. Use `pageno` to paginate results; combine `time_range` and `language` to narrow scope. When `engines` and `time_range` are both provided, every selected engine must explicitly advertise time-range support via SearXNG /config; otherwise the request is rejected before search. To read the full text of a result URL, follow up with `web_url_read`.
| Name | Type | Req | Description |
|---|---|---|---|
| categories | string | – | Comma-separated SearXNG categories. Live /config capabilities are aggregated across reachable instances; prefer searxng_instance_info categories.common for consistent multi-instance results. Values i… |
| engines | string | – | Comma-separated SearXNG engine names to query (e.g. 'google,bing,ddg'). Live /config capabilities are aggregated across reachable instances; prefer searxng_instance_info engines.common.enabled for co… |
| language | string | – | Language code for search results (e.g., 'en', 'fr', 'de'). Default is instance-dependent. |
| min_score | number | – | Minimum relevance score threshold from 0.0 to 1.0. Results below this score are filtered out. |
| num_results | number | – | Maximum number of results to return (1-20). Operator cap SEARXNG_MAX_RESULTS applies as a ceiling. |
| pageno | integer | – | Search page number (starts at 1) |
| query | string | yes | The search query string. This is the required parameter name — use exactly `query`, not `prompt` or `q`. |
| response_format | string | – | Response format: formatted text for agents or raw JSON for programmatic clients. If omitted, SEARXNG_DEFAULT_RESPONSE_FORMAT applies; if unset or invalid, text is used. An explicit response_format al… |
| result_detail | string | – | Result detail: full preserves SearXNG metadata and search signals; compact returns only title, URL, and content-snippet fields for each result (JSON keys: title, url, content). If omitted, full is us… |
| safesearch | string | – | Safe search filter level (0: None, 1: Moderate, 2: Strict) |
| time_range | string | – | Time range of search (day, week, month, year). With explicit engines, all selected engines must confirm time_range_support=true via /config. |
No output schema declared.
No examples provided.
web_url_read ~374
Fetches a URL and returns readable content as markdown. Content-type aware: HTML is converted to markdown; JSON is pretty-printed; plain text, YAML, TOML, and XML are returned as fenced readable text. PDF text extraction is supported with bounded input, output, page count, time, concurrency, and memory; OCR is not supported. Binary, media, archive, and octet-stream downloads other than PDFs are intentionally rejected instead of being returned as raw bytes. When the operator configures browser solvers, mcp-searxng attempts FlareSolverr first and then Byparr only after a busy or transient-unavailable acquisition; cache hits bypass acquisition and a final busy or unavailable provider uses one uncached direct-fetch fallback. Three modes: (1) Full content — omit filtering params; use `startChar`/`maxLength` to paginate large pages. (2) Section extraction — set `section` to return content under a specific heading. (3) Headings only — set `readHeadings: true` to list all headings (mutually exclusive with other filtering params). Returns an error string if the URL is unreachable or content cannot be extracted. Use after `searxng_web_search` to read the full content of individual result URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| maxLength | number | – | Maximum number of characters to return |
| paragraphRange | string | – | Return specific paragraph ranges (e.g., '1-5', '3', '10-') |
| readHeadings | boolean | – | Return only a list of headings instead of full content |
| section | string | – | Extract content under a specific heading (searches for heading text) |
| startChar | number | – | Starting character position for content extraction (default: 0) |
| url | string | yes | URL |
No output schema declared.
No examples provided.
What is the SearXNG Search MCP server?
SearXNG Search is an MCP server listed in the public MCP registry as io.github.ihor-sokoliuk/mcp-searxng. MCP server for SearXNG, privacy-respecting web search with pagination, URL reading. This page covers its npm package (mcp-searxng).
Is the SearXNG Search MCP server safe to use?
SearXNG Search scores 96 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the SearXNG Search MCP server expose?
SearXNG Search exposes 4 tools: searxng_web_search, searxng_search_suggestions, searxng_instance_info, web_url_read. Their descriptions and schemas cost roughly 1,271 tokens of context every time the server is loaded.
Is the SearXNG Search MCP server still maintained?
SearXNG Search is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the SearXNG Search MCP server under?
SearXNG Search declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.