Labsco
MCP SERVER

Search through your own SearXNG instance — your engines, your categories, no third-party search account — and read the results back as Markdown.

Web Search EnginesOfficial source
Summary
Search runs on an instance you control, and the results come back readable.

What it takes off you is the search-vendor account: queries go to your own SearXNG, where the engine mix, categories and safe-search level are already what you decided. The reader is the other half — it is content-type aware, so a JSON endpoint, a YAML file and a PDF each come back in a form the model can use rather than as a blob.

What it is

A client for a SearXNG instance you run or choose. Searches go to that instance over its JSON API, so which engines answer and what is enabled are your settings rather than a vendor's. It is a separate process, not a SearXNG plugin.

What you get
  • Web results with title, URL and content snippet, paginated, and narrowed by category, engine, language, time range, safe-search level and a minimum score
  • SearXNG's own answers, corrections, suggestions and infoboxes ahead of the result list
  • Results as agent-readable text or as raw JSON, chosen per call or set as the server default
  • Autocomplete suggestions for refining a vague or partial query before searching
  • The capabilities of every reachable configured instance — common and available categories and engines, defaults, locales and plugins
  • Any URL read back as Markdown, content-type aware: HTML becomes Markdown, JSON is pretty-printed, and plain text, YAML, TOML and XML come back as fenced text
  • PDF text extraction with bounds on input, output, page count, time, concurrency and memory
  • Section, heading, paragraph-range and character-offset controls, for reading part of a long page
  • Several instances behind one SEARXNG_URL: searches fail over in order, or fan out to every healthy replica in parallel and merge
  • Search results and fetched pages cached in memory, with a TTL and least-frequently-used eviction you configure
  • Private and internal addresses refused by the URL reader, redirects included, in every transport mode
  • A lite tool schema for local models whose context window cannot carry the full one
Requirements

Npx on your PATH and a SearXNG instance to point SEARXNG_URL at — that is the only required setting, and it takes a semicolon-separated list if you have replicas. The instance has to answer JSON: a public one you do not control usually refuses, and SEARXNG_HTML_FALLBACK=true then retries the search against the ordinary HTML page, with relevance scores and engine names missing from what comes back. AUTH_USERNAME and AUTH_PASSWORD cover an instance behind basic auth. Scanned PDFs needing OCR are out of reach.

Setup effort

One command — npx -y mcp-searxng