SearXNG MCP Server
This server allows you to perform web searches using public SearXNG instances and returns results in JSON format.
Web Search: Execute searches by providing a
querystringTime-Range Filtering: Optionally filter results by time range (day, month, year)
JSON Output: Receive results as an array of objects containing
urlandsummaryfor each resultFallback Support: Uses up to three public SearXNG servers with primary and fallback options
Easy Integration: Can be installed and run via npm with simple configuration
Queries public SearXNG instances by parsing HTML search results into JSON format, allowing searches with time range filtering (day, month, year), and providing URL and summary data for each result.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SearXNG MCP Serversearch for recent AI developments in the past month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-searxng-public
An MCP server that queries public SearXNG instances, parsing HTML contents into a JSON result
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.
Related MCP server: mcp-searxng
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.
Usage
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,monthoryear).language(optional) - the language code for the search (e.g.,en,es,fr). If not provided, it defaults to the value of theDEFAULT_LANGUAGEenvironment 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 …"
}
]Available Tools
1 toolsearchARead-only
Performs a web search for a given query using the public SearXNG search servers. Returns an array of result objects with 'url' and 'summary' for each result.
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Optionally, if true, will perform a more thorough search - will ask for more pages of results and will merge results from multiple servers. Warning: this might overload the servers and cause errors. Do not set to true by default unless explicitly asked to perform a detailed or comprehensive query. | |
| language | No | The optional language code for the search (e.g., en, es, fr). | |
| query | Yes | The search query. | |
| time_range | No | The optional time range for the search, from: [day, week, month, year]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, open-world, non-idempotent, and non-destructive behavior. The description adds valuable context beyond this: it specifies the search servers used (public SearXNG), warns about server overload risks with the 'detailed' parameter, and describes the return format. However, it doesn't mention rate limits or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences that efficiently convey the tool's purpose, method, and output. Every sentence adds value: the first defines the action and resource, and the second specifies the return format, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no output schema), the description is mostly complete. It covers the core functionality and output, but lacks details on error handling or performance considerations. With annotations providing safety context, it's sufficient but could be enhanced with more behavioral insights.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional parameter semantics beyond what's in the schema, such as explaining the 'query' parameter's format or 'time_range' values. Baseline 3 is appropriate when the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Performs a web search'), resource ('using the public SearXNG search servers'), and output format ('Returns an array of result objects with 'url' and 'summary' for each result'). It distinguishes this as a general web search tool with no siblings to differentiate from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for web searches but provides no explicit guidance on when to use this tool versus alternatives (e.g., other search methods or tools). Since there are no sibling tools, this is less critical, but it lacks any context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'search' has a single, clearly defined purpose for performing web searches.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'search' is clear and follows a simple verb pattern.
A single tool is too few for a server named 'SearXNG MCP Server', which suggests a search engine interface. While the tool covers basic search functionality, the scope feels thin, lacking features like advanced search options, result filtering, or multi-engine support that might be expected.
The tool surface is severely incomplete for a search engine server. It only provides a basic search function, missing obvious capabilities such as setting search parameters (e.g., language, time range), handling pagination, or accessing other SearXNG features like image or news searches, which limits agent effectiveness.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Google search results via SERP API
Serper MCP — wraps the Serper Google Search API (serper.dev)
One MCP server for 180+ live web-data APIs returning clean JSON from sites that block scrapers.
Related MCP Servers
- FlicenseAqualityAmaintenanceAn MCP server for SearXNG that provides web search capabilities with concise model-visible output while preserving full result payloads in metadata. It supports search, parallel fetching, URL extraction, and research workflows through both local stdio and streamable HTTP transports.72
- AlicenseAqualityBmaintenanceAn MCP server that integrates the SearXNG API for web search and URL content extraction with advanced features like pagination, caching, and proxy support.414,6402MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that integrates the SearXNG API to provide web search with pagination, filtering, and URL content extraction.18MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that aggregates web search results from multiple engines and optionally renders pages to Markdown, providing a unified search interface.123ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pwilkin/mcp-searxng-public'
If you have feedback or need assistance with the MCP directory API, please join our Discord server