by pwilkin
Provides a unified MCP endpoint that queries public SearXNG instances, parses HTML results, and returns them as a clean JSON array.
Mcp Searxng Public offers an MCP server that aggregates search results from up to three public SearXNG instances. It fetches the HTML output of those instances, extracts the relevant URL and summary information, and returns a standardized JSON payload that can be consumed by Cursor or other MCP‑compatible clients.
npm install mcp-searxng-public
SEARXNG_BASE_URL list to include the public instances you trust.search endpoint with the required query argument and optional time_range, language, and detailed flags.Example client configuration:
{
"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",
"DEFAULT_LANGUAGE": "en"
}
}
}
detailed=true, queries pages 1‑3 on each instance, merges results, and deduplicates them.time_range and language parameters.npx command; no additional scripts required.Q: Why not use the SearXNG JSON API? A: Many public instances disable the JSON endpoint for security or configuration reasons. This server works purely with the displayed HTML, ensuring compatibility with virtually any public instance.
Q: How many instances can I list in SEARXNG_BASE_URL?
A: You can include as many as you like; the server will try the first three that are reachable.
Q: What does the detailed flag do?
A: It triggers a deeper crawl, pulling three pages of results from each selected instance, then merges and removes duplicate entries.
Q: Which languages are supported?
A: Any language code recognized by SearXNG (e.g., en, es, fr). If DEFAULT_LANGUAGE is set, it is used when the caller does not provide a language argument.
Q: How are duplicates handled? A: Results are deduplicated based on the URL field after merging pages from all queried instances.
Q: Can I limit the number of returned results? A: The server currently returns all extracted items; you can post‑process the JSON array in your client to truncate as needed.
An MCP server that queries public SearXNG instances, parsing HTML contents into a JSON result
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.
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.
The server exposes one endpoint: search. The endpoint takes four arguments:
query - the search querytime_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's desktop computer itself, and are …"
}
]
Please log in to share your review and rating for this MCP.
{
"mcpServers": {
"SearXNGScraper": {
"command": "npx",
"args": [
"mcp-searxng-public"
],
"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"
}
}
}
}claude mcp add SearXNGScraper npx mcp-searxng-publicExplore related MCPs that share similar capabilities and solve comparable challenges
by exa-labs
Provides real-time web search capabilities to AI assistants via a Model Context Protocol server, enabling safe and controlled access to the Exa AI Search API.
by perplexityai
Enables Claude and other MCP‑compatible applications to perform real‑time web searches through the Perplexity (Sonar) API without leaving the MCP ecosystem.
by MicrosoftDocs
Provides semantic search and fetch capabilities for Microsoft official documentation, returning content in markdown format via a lightweight streamable HTTP transport for AI agents and development tools.
by elastic
Enables natural‑language interaction with Elasticsearch indices via the Model Context Protocol, exposing tools for listing indices, fetching mappings, performing searches, running ES|QL queries, and retrieving shard information.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, extraction, retrieval, and RAG capabilities across a wide range of data sources and connectors.
by mamertofabian
Fast cross‑platform file searching leveraging the Everything SDK on Windows, Spotlight on macOS, and locate/plocate on Linux.
by cr7258
Provides Elasticsearch and OpenSearch interaction via Model Context Protocol, enabling document search, index management, cluster monitoring, and alias operations.
by kagisearch
Provides web search and video summarization capabilities through the Model Context Protocol, enabling AI assistants like Claude to perform queries and summarizations.
by liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.