Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.burakaydinofficial/searxng-deepdive

NPM · SEARXNG-DEEPDIVE · SCANNED AUG 3

MCP server for SearXNG with engine targeting, multi-page fanout, and HTML→Markdown URL reading.

Available components

+34 this week 75 Trust /100
Trust breakdown (6 categories)

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 →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (107 of 111), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (107 of 111), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to burakaydinofficial/searxng-deepdive). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 27 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability54
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2555 tokens (~638/item across 4 items; 4 tools + 0 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 Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · searxng-deepdive

# add to Claude Code
claude mcp add burakaydinofficial-searxng-deepdive -- npx -y searxng-deepdive
# add to Codex CLI
codex mcp add burakaydinofficial-searxng-deepdive -- npx -y searxng-deepdive
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "burakaydinofficial-searxng-deepdive": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "searxng-deepdive"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add burakaydinofficial-searxng-deepdive --command npx --arg -y --arg searxng-deepdive
# ~/.hermes/config.yaml
mcp_servers:
  burakaydinofficial-searxng-deepdive:
    command: "npx"
    args: ["-y", "searxng-deepdive"]
// mcp.json
{
  "mcpServers": {
    "burakaydinofficial-searxng-deepdive": {
      "command": "npx",
      "args": [
        "-y",
        "searxng-deepdive"
      ]
    }
  }
}
Changelog

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.

  • 2 Aug 26 +59
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • The attested source repository moved: burakaydinofficial/searxng-deepdive security
    • Dependency health: unverified → partial functional
    • Stability: unverified → 0.23 functional
    • Maintenance: unverified → pass functional
    • License: unverified → pass functional
    • Schema quality: unverified → excellent functional
    • MCP protocol: unverified → pass functional
    • Licence: MIT functional
  • 1 Aug 26 −28
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 +18
    • Malware scan: pass → unverified security
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • The attested source repository moved: burakaydinofficial/searxng-deepdive security
    • Security disclosure: unverified → fail functional
    • Dependency health: partial → unverified functional
    • Tool coverage: unverified → 100 functional
    • License: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Licence: MIT functional
  • 29 Jul 26 −15
    • Tool coverage: 100 → unverified functional
    • Security disclosure: fail → unverified functional
    • Dependency health: unverified → partial functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 41

    First indexed and scored.

Diagnostics

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 3 Aug 2026 · Analysed npm/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
burakaydinofficial/searxng-deepdive
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/burakaydinofficial/searxng-deepdive/.github/workflows/publish.yml@refs/tags/v0.4.1
Rekor log index:
2087424086
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:f7d1423d101963bb8504d6e8e9d2f262048596c894f95dbd85294f398d6c33ef5042256a90fa44d720829fe18b887c7542663ce0295c7eb9909638028
Discovery method:
attestation_endpoint
Dependencies 107 packages

107 packages in the resolved dependency tree · 107 deprecated · 30 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 4 exposed · ~2,555 tokens

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.

Tool Tokens
search ~635

Broad web search across the SearXNG instance's full enabled engine pool. Use this for general-purpose queries when you don't have a specific source preference. Returns a merged, deduplicated result list from across this instance's enabled engines — actual yield depends on which engines respond at query time. Knobs: • pages=N (max 5) — fetch multiple pages and merge for more results in one call. • format='full' — full result objects with metadata; default 'compact' is token-efficient. • time_range — narrow to recent results (note: not all engines support this — see field doc). When to reach for a different tool: • search_on_engines — you want specific sources (e.g. just ArXiv + PubMed) • search_by_category — you want all engines in a category (e.g. all science)

NameTypeReqDescription
formatstring'compact' (default) returns only url/title/content/engine for each result — typically much smaller, recommended for ranking and triage. 'full' adds: relevance score, publishedDate, the list of all en…
languagestringLanguage filter, e.g. 'en', 'fr', 'de', 'pt-BR', or 'all' to disable filtering. If omitted, the SearXNG instance's configured default applies (NOT autodetected from the query, despite what the name s…
pagenointeger1-indexed starting page number. Default 1. Higher pages fetch additional results from each engine, deduplicated against earlier pages by URL. Per-page yield drops sharply after the first 1-2 pages as…
pagesintegerMulti-page fanout: fetch this many consecutive pages in parallel and merge with URL-based dedup. Default 1. Combines with pageno: pageno=3 + pages=2 fetches pages 3 and 4. Diminishing returns past pa…
querystringyesPlain-language search query. Forwarded to each engine's native parser; engine-specific operators (e.g. site:, filetype:) are passed through unchanged.
safe_searchSafe-search level. 0 = off, 1 = moderate, 2 = strict. If omitted, the SearXNG instance's configured default applies (often 0 for self-hosted, but not guaranteed).
time_rangestringFilter to results published within this time window. WARNING: not all engines implement time-range filtering — some (notably academic engines) return ZERO results when this is set instead of ignoring…

No output schema declared.

No examples provided.

search_by_category ~611

Search within one or more categories — runs every engine tagged with each (e.g. categories: ["science"]). Use when you want broad coverage of a content type without enumerating engines. NOTE: this instance's live engine/category list is currently unavailable — SearXNG was unreachable when the server started. Names you pass are forwarded and validated once SearXNG is reachable; restart the server after SearXNG is up to see the enabled list here. Multi-page fanout (pages=N) and other knobs work the same as the broad `search` tool.

NameTypeReqDescription
categoriesarrayyesCategory names to constrain the search. SearXNG runs every engine tagged with these categories. The available categories are enumerated in this tool's description above.
formatstring'compact' (default) returns only url/title/content/engine for each result — typically much smaller, recommended for ranking and triage. 'full' adds: relevance score, publishedDate, the list of all en…
languagestringLanguage filter, e.g. 'en', 'fr', 'de', 'pt-BR', or 'all' to disable filtering. If omitted, the SearXNG instance's configured default applies (NOT autodetected from the query, despite what the name s…
pagenointeger1-indexed starting page number. Default 1. Higher pages fetch additional results from each engine, deduplicated against earlier pages by URL. Per-page yield drops sharply after the first 1-2 pages as…
pagesintegerMulti-page fanout: fetch this many consecutive pages in parallel and merge with URL-based dedup. Default 1. Combines with pageno: pageno=3 + pages=2 fetches pages 3 and 4. Diminishing returns past pa…
querystringyesPlain-language search query. Forwarded to each engine's native parser; engine-specific operators (e.g. site:, filetype:) are passed through unchanged.
safe_searchSafe-search level. 0 = off, 1 = moderate, 2 = strict. If omitted, the SearXNG instance's configured default applies (often 0 for self-hosted, but not guaranteed).
time_rangestringFilter to results published within this time window. WARNING: not all engines implement time-range filtering — some (notably academic engines) return ZERO results when this is set instead of ignoring…

No output schema declared.

No examples provided.

search_on_engines ~619

Search using ONLY the specified engines (e.g. engines: ["arxiv", "duckduckgo"]). Use when you have a specific source preference instead of the broad `search` tool. NOTE: this instance's live engine/category list is currently unavailable — SearXNG was unreachable when the server started. Names you pass are forwarded and validated once SearXNG is reachable; restart the server after SearXNG is up to see the enabled list here. Multi-page fanout (pages=N) and other knobs work the same as the broad `search` tool.

NameTypeReqDescription
enginesarrayyesEngine names to use, lowercase. Multiple engines run in parallel and results are merged. Must match this instance's enabled engines (the available list is enumerated in this tool's description above).
formatstring'compact' (default) returns only url/title/content/engine for each result — typically much smaller, recommended for ranking and triage. 'full' adds: relevance score, publishedDate, the list of all en…
languagestringLanguage filter, e.g. 'en', 'fr', 'de', 'pt-BR', or 'all' to disable filtering. If omitted, the SearXNG instance's configured default applies (NOT autodetected from the query, despite what the name s…
pagenointeger1-indexed starting page number. Default 1. Higher pages fetch additional results from each engine, deduplicated against earlier pages by URL. Per-page yield drops sharply after the first 1-2 pages as…
pagesintegerMulti-page fanout: fetch this many consecutive pages in parallel and merge with URL-based dedup. Default 1. Combines with pageno: pageno=3 + pages=2 fetches pages 3 and 4. Diminishing returns past pa…
querystringyesPlain-language search query. Forwarded to each engine's native parser; engine-specific operators (e.g. site:, filetype:) are passed through unchanged.
safe_searchSafe-search level. 0 = off, 1 = moderate, 2 = strict. If omitted, the SearXNG instance's configured default applies (often 0 for self-hosted, but not guaranteed).
time_rangestringFilter to results published within this time window. WARNING: not all engines implement time-range filtering — some (notably academic engines) return ZERO results when this is set instead of ignoring…

No output schema declared.

No examples provided.

web_url_read ~690

Fetch a URL and convert its HTML content to clean Markdown. Use after `search` (or its variants) when you have a URL and want the actual page text, not just the search snippet. Lightweight HTTP + HTML→Markdown — handles ~80% of the static-HTML web (Wikipedia, docs sites, blogs, news, GitHub READMEs). What this DOES NOT handle: • JavaScript-rendered pages (React/Vue/Angular SPAs) — content loads after the initial HTML, which we don't execute. Returns minimal or empty markdown for these. • Bot-protected pages (Cloudflare challenge, captcha) — typically fail with HTTP 403/503. • Binary resources (PDF, images, archives) — returns an explanatory hint instead of garbled bytes. For those cases, fall back to a Chromium-backed reader (e.g. Crawl4AI exposed via the SearXNG-Compose `reader` profile). Token-efficient extraction modes (priority order — first one set wins): • readHeadings:true — returns ONLY the heading list (hierarchical TOC). Cheapest survey of a long page. • section:'<text>' — returns content under first matching heading, up to the next same-or-higher heading. Use after readHeadings to jump. • paragraphRange:'3-7' — 1-indexed paragraph slice; supports 'N' (single) or 'N-M' (range). • startChar + maxLength — character window pagination. Response includes total_length and truncated so you can plan follow-up calls. If no extraction mode is set, returns the full Markdown. Recommended workflow for long pages: 1. web_url_read(url, readHeadings: true) ← TOC scan 2. web_url_read(url, section: '<chosen heading>') ← targeted read Far more token-efficient than fetching the full page up front.

NameTypeReqDescription
maxLengthintegerMaximum characters to return. Use with startChar for paginated reading; the response includes `total_length` and `truncated` so you can plan follow-up calls.
paragraphRangestring1-indexed paragraph range, syntax 'N' or 'N-M' (e.g. '3-7' for paragraphs 3–7, '5' for paragraph 5 alone). Useful for sequential reading of long pages without re-fetching.
readHeadingsbooleanWhen true, returns ONLY the page's heading list as a hierarchical TOC (token-cheap survey). Pair with a follow-up call using `section` to read the chunk you actually want.
sectionstringSubstring match against headings (case-insensitive). Returns content under the FIRST heading containing this text, up to the next heading at the same or higher level. Use after readHeadings to read a…
startCharintegerCharacter offset where extraction begins. Default 0.
urlstringyesHTTP(S) URL to fetch and convert to Markdown. Static pages only — for JavaScript-rendered SPAs and bot-protected sites, use a Chromium-backed reader instead.

No output schema declared.

No examples provided.