MCP.so
Sign In
Servers

mcp-searxng-public

@pwilkin

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

Overview

What is mcp-searxng-public?

mcp-searxng-public is an MCP server that queries up to three public SearXNG instances, parsing HTML search results into a JSON format. It is designed for users who need a reliable search tool that works with public SearXNG servers that typically do not expose JSON APIs.

How to use mcp-searxng-public?

Install via npm install mcp-searxng-public. Configure with SEARXNG_BASE_URL (semicolon-separated list of URLs) and DEFAULT_LANGUAGE. Invoke the search tool with required query and optional time_range, language, and detailed arguments. Run the report task to get a list of accessible servers.

Key features of mcp-searxng-public

  • Queries multiple public SearXNG instances with failover.
  • Parses HTML results into structured JSON with URL and summary.
  • Supports optional time range (day, month, year).
  • Supports optional language parameter with configurable default.
  • Detailed mode queries up to 3 servers and multiple pages.
  • Returns deduplicated results from fallback servers.

Use cases of mcp-searxng-public

  • Privacy-focused web searches using public SearXNG instances.
  • Automated search queries in AI agents or workflows.
  • Getting search results without needing a private SearXNG instance.
  • Fallback search capability for high availability.

FAQ from mcp-searxng-public

How does mcp-searxng-public differ from other SearXNG MCP servers?

Most SearXNG MCP servers use the JSON output format, which fails on public servers. This server parses HTML from public instances and includes fallback servers for reliability.

What environment variables are required?

SEARXNG_BASE_URL: a semicolon-separated list of SearXNG URLs (default list provided). DEFAULT_LANGUAGE: language code (e.g., en). Optional, falls back to no language if unset.

Where does the search data come from?

Data comes from public SearXNG instances specified in the SEARXNG_BASE_URL environment variable. The server reads up to three of these, using the first as primary and others as fallback.

What transport or authentication does the server use?

The server communicates via the Standard Input/Output (stdio) transport. No authentication is configured; it relies on public SearXNG instances.

Are there any known limitations?

The server relies on publicly accessible SearXNG instances, which may have rate limits or become unavailable. It parses HTML, so result structure may change if instance UI updates.

Tags

More from Other