SearXNG MCP Server
The SearXNG MCP Server enables privacy-focused meta searching across multiple engines with customizable options.
Meta Search: Combines results from multiple search engines into a single response
Privacy-Focused: No tracking or user profiling ensures user privacy
Multiple Categories: Supports searching in general, news, science, files, images, videos, music, social media, and IT
Customizable Filtering: Filter by language, time range (day, week, month, year), and safe search levels (None, Moderate, Strict)
Navigation: Supports pagination for search results
Reliability: Utilizes fallback SearXNG instances for consistent service
Included as one of the search engines that SearXNG queries for results, configured with the shortcut 'd'.
Included as one of the search engines that SearXNG queries for results, configured with the shortcut 'g'.
Integrates with SearXNG to provide privacy-focused meta search capabilities, combining results from multiple search engines with features like language support, time range filtering, and safe search.
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 week"
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.
SearXNG MCP Server
An MCP server implementation that integrates with SearXNG, providing privacy-focused meta search capabilities.
Features
Meta Search: Combines results from multiple search engines
Privacy-Focused: No tracking, no user profiling
Multiple Categories: Support for general, news, science, files, images, videos, and more
Language Support: Search in specific languages or all languages
Time Range Filtering: Filter results by day, week, month, or year
Safe Search: Three levels of safe search filtering
Fallback Support: Multiple SearXNG instances for reliability
Related MCP server: Wuxing Search MCP
Installation
Installing via Smithery
To install SearXNG MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @kevinwatt/mcp-server-searxng --client claudeManual Installation
npm install -g @kevinwatt/mcp-server-searxngUsage
Direct Run
mcp-server-searxngWith Dive Desktop
Click "+ Add MCP Server" in Dive Desktop
Copy and paste this configuration:
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"@kevinwatt/mcp-server-searxng"
]
}
}
}Click "Save" to install the MCP server
Tool Documentation
web_search
Execute meta searches across multiple engines
Inputs:
query(string): Search termspage(number, optional): Page number (default: 1)language(string, optional): Language code (e.g., 'en', 'all', default: 'all')categories(array, optional): Search categories (default: ['general'])Available: "general", "news", "science", "files", "images", "videos", "music", "social media", "it"
time_range(string, optional): Time filter (day/week/month/year)safesearch(number, optional): Safe search level (0: None, 1: Moderate, 2: Strict, default: 1)
Development
git clone https://github.com/kevinwatt/mcp-server-searxng.git
cd mcp-server-searxng
npm install
npm run build
npm startLicense
This MCP server is licensed under the MIT License. See the LICENSE file for details.
Prerequisites
You need a local SearXNG instance running. To set it up:
Run SearXNG with Docker
Quick Start
# Create config directory
mkdir -p searxng
# Create config file
tee searxng/settings.yml << EOF
use_default_settings: true
server:
bind_address: "0.0.0.0"
secret_key: "CHANGE_THIS_TO_SOMETHING_SECURE" # Generate a random key
port: 8080
search:
safe_search: 0
formats:
- html
- json
engines:
- name: google
engine: google
shortcut: g
- name: duckduckgo
engine: duckduckgo
shortcut: d
- name: bing
engine: bing
shortcut: b
server.limiter: false
EOF
# Start container
docker run -d \
--name searxng \
-p 8080:8080 \
-v "$(pwd)/searxng:/etc/searxng" \
searxng/searxngTest Search Function
# Test JSON API with curl
curl -v 'http://localhost:8080/search?q=test&format=json'
# Or visit in browser
http://localhost:8080/search?q=testContainer Management
# Stop container
docker stop searxng
# Remove container
docker rm searxng
# View container logs
docker logs searxng
# Enable auto-start on boot
docker update --restart always searxngThe --restart always flag ensures that:
Container starts automatically when Docker daemon starts
Container restarts automatically if it crashes
Container restarts automatically if it is stopped unless explicitly stopped by user
Custom Configuration
Edit searxng/settings.yml to:
Modify search engine list
Adjust security settings
Configure UI language
Change API limits
For detailed configuration options, see SearXNG Documentation
Environment Variables
SEARXNG_INSTANCES: Comma-separated list of SearXNG instances URLs Default:http://localhost:8080SEARXNG_USER_AGENT: Custom User-Agent header for requests Default:MCP-SearXNG/1.0NODE_TLS_REJECT_UNAUTHORIZED: Set to '0' to bypass SSL certificate verification (for development with self-signed certificates) Default: undefined (SSL verification enabled)
Example configuration with all options:
{
"mcpServers": {
"searxng": {
"name": "searxng",
"command": "npx",
"args": [
"-y",
"@kevinwatt/mcp-server-searxng"
],
"env": {
"SEARXNG_INSTANCES": "http://localhost:8080,https://searx.example.com",
"SEARXNG_USER_AGENT": "CustomBot/1.0",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}⚠️ Warning: Disabling SSL certificate verification is not recommended in production environments.
Available Tools
1 toolweb_searchA
Performs a web search using SearXNG, ideal for general queries, news, articles and online content. Supports multiple search categories, languages, time ranges and safe search filtering. Returns relevant results from multiple search engines combined.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| page | No | Page number (default 1) | |
| language | No | Search language code (e.g. 'en', 'zh', 'jp', 'all') | all |
| categories | No | ||
| time_range | No | all_time | |
| safesearch | No | 0: None, 1: Moderate, 2: Strict |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool 'returns relevant results from multiple search engines combined,' adding useful behavioral context about result aggregation. However, it doesn't cover aspects like rate limits, authentication needs, or error handling, leaving gaps for a search tool.
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 front-loaded with the core purpose and efficiently lists key features in a single, well-structured sentence. Every phrase adds value without redundancy, making it appropriately sized and easy to parse.
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 no annotations, no output schema, and moderate schema coverage (67%), the description is somewhat complete but has gaps. It covers the tool's purpose and key features but lacks details on return format, error cases, or advanced usage, which could help an agent use it more effectively in varied contexts.
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 67%, and the description adds some value by mentioning support for 'multiple search categories, languages, time ranges and safe search filtering,' which aligns with parameters like categories, language, time_range, and safesearch. However, it doesn't provide additional semantics beyond what the schema already documents, such as details on query formatting or page behavior.
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 tool 'performs a web search using SearXNG' and specifies it's for 'general queries, news, articles and online content.' It provides a specific verb ('performs') and resource ('web search'), though it doesn't need to distinguish from siblings since none exist.
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 mentions it's 'ideal for general queries, news, articles and online content,' which implies usage context but doesn't explicitly state when to use it versus alternatives or any exclusions. No sibling tools exist, so differentiation isn't needed, but broader guidance is limited.
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's purpose is clearly defined as performing web searches using SearXNG, making it distinct by default.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'web_search' follows a clear verb_noun pattern and is appropriate for its function.
One tool is too few for a server named 'SearXNG MCP Server', which suggests a broader scope for search functionality. While the tool covers general web searches, the lack of additional tools (e.g., for image search, news-specific searches, or configuration) makes the set feel thin and underdeveloped for the domain.
The tool surface is severely incomplete for a search server. It only provides general web search, missing obvious extensions like image search, video search, news search, or advanced filtering tools that would be expected in a comprehensive search interface, leading to significant gaps in functionality.
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
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.
Live web search, image search, topic filters and full-text fetch over our own crawled index.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides privacy-focused web search capabilities through SearXNG metasearch engine, enabling web, image, video, and news searches without tracking. Includes comprehensive research tools that aggregate and analyze results from multiple search engines.34MIT
- AlicenseAqualityDmaintenanceA privacy-focused search server built on SearXNG that provides unlimited, multi-source web searching across 100+ engines. It enables AI tools to perform advanced searches with specialized filters for time, language, and content categories without API costs or rate limits.212MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables web search capabilities by integrating with a SearXNG instance to aggregate results from over 130 engines. It allows users to perform filtered searches across categories like news, science, and social media while supporting advanced parameters for language and time range.9MIT
- AlicenseNot gradedqualityCmaintenanceA privacy-friendly web search MCP server using SearXNG, enabling searches across multiple engines and categories.1MIT
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/kevinwatt/mcp-server-searxng'
If you have feedback or need assistance with the MCP directory API, please join our Discord server