search-web

SearXNG Public

by pwilkin

SearXNG Public offers secure, private web searches with time-range filters, similar to DuckDuckGo browser and DuckDuck G

Queries public SearXNG instances to extract structured search results with time-range filtering and fallback mechanisms for reliable web search capabilities

github stars

30

No API key neededWorks with public SearXNG instancesAutomatic fallback mechanism

best for

  • / Developers needing web search without API keys
  • / Applications requiring structured web search data
  • / Building search features with privacy-focused engines

capabilities

  • / Search web content through SearXNG instances
  • / Parse HTML search results into JSON format
  • / Filter results by time ranges
  • / Switch between fallback servers automatically
  • / Generate reports on accessible SearXNG instances
  • / Configure language preferences for searches

what it does

Searches the web through public SearXNG instances by scraping and parsing HTML results into structured JSON data. Includes fallback servers for reliability when main instances are unavailable.

about

SearXNG Public is a community-built MCP server published by pwilkin that provides AI assistants with tools and capabilities via the Model Context Protocol. SearXNG Public offers secure, private web searches with time-range filters, similar to DuckDuckGo browser and DuckDuck G It is categorized under search web.

how to install

You can install SearXNG Public in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

SearXNG Public is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

mcp-searxng-public

An MCP server that queries public SearXNG instances, parsing HTML contents into a JSON result

<a href="https://glama.ai/mcp/servers/@pwilkin/mcp-searxng-public"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@pwilkin/mcp-searxng-public/badge" alt="SearXNG Server MCP server" /> </a>

Rationale

All the MCP servers for SearXNG that I've seen use "json" as the output format. While that is certainly a faster way to code a SearXNG MCP server, it will make it fail on virtually all public servers since they don't expose the JSON format.

This server will read from up to three public SearXNG servers (using one as main and the others as fallback) and will parse the results into JSON.

Installation

Install via npm install mcp-searxng-public.

If the server is installed, the run configuration is (for Cursor or Cursor-compatible clients) as follows:

{
  "SearXNGScraper": {
    "command": "npx",
    "args": ["mcp-searxng-public"],
    "capabilities": {
      "tool-calls": true
    },
    "env": {
      "SEARXNG_BASE_URL": "https://metacat.online;https://nyc1.sx.ggtyler.dev;https://ooglester.com;https://search.080609.xyz;https://search.canine.tools;https://search.catboy.house;https://search.citw.lgbt;https://search.einfachzocken.eu;https://search.federicociro.com;https://search.hbubli.cc;https://search.im-in.space;https://search.indst.eu",
      "DEFAULT_LANGUAGE": "en"
    }
  }
}

Note: You may need to adjust the env variables, particularly SEARXNG_BASE_URL, to point to your preferred SearXNG instances. The DEFAULT_LANGUAGE can also be set as needed. You can run the report task to get a report on good (accessible) SearXNG instances which you can put in the URLs line.

Add MCP Server sear-xng-scraper to LM Studio

Usage

The server exposes one endpoint: search. The endpoint takes four arguments:

  • query - the search query
  • time_range (optional) - which takes a time range parameter according to the https://docs.searxng.org/dev/search_api.html spec (day, month or year).
  • language (optional) - the language code for the search (e.g., en, es, fr). If not provided, it defaults to the value of the DEFAULT_LANGUAGE environment variable. If neither is set, no language parameter is sent to SearXNG.
  • detailed (optional) - if set to "true", performs a more thorough search by querying up to 3 servers and fetching multiple pages of results (pages 1, 2, and 3) from each server, then merging and deduplicating the results.

Returned is an array of objects:

[
      {
        "url": "https://github.com/searxng/searxng",
        "summary": "You can start SearXNG using make run in the terminal or by pressing Ctrl+Shift+B"
      },
      {
        "url": "https://searx.bndkt.io/",
        "summary": "Powered by searxng - 2025.3.22+5986629c6 — a privacy-respecting, open metasearch engine Source code | Issue tracker | Engine stats | Public instances | Contact instance maintainer"
      },
      {
        "url": "https://docs.searxng.org/"
        "summary": "SearXNG is a free internet metasearch engine which aggregates results from up to 243 search services. Users are neither tracked nor profiled. Additionally, SearXNG can be used over Tor …"
      }
      {
        "url": "https://en.wikipedia.org/wiki/SearXNG",
        "summary": "SearXNG is federated, and as such is hosted by several instances, public and private. Private instances are hosted on a local network, or run on the user&#x27;s desktop computer itself, and are …"
      }
]
SearXNG Public — MCP server | explainx.ai | explainx.ai