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" } } } }
Explore 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 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 liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.
by ihor-sokoliuk
Provides web search capabilities via the SearXNG API, exposing them through an MCP server for seamless integration with AI agents and tools.
by fatwang2
Provides web and news search, URL crawling, sitemap extraction, deep‑reasoning, and trending topic retrieval via Search1API, exposed as an MCP server for integration with AI clients.
by cnych
Provides SEO data retrieval via Ahrefs, exposing MCP tools for backlink analysis, keyword generation, traffic estimation, and keyword difficulty, with automated CAPTCHA solving and response caching.