
SearXNG MCP Server
An MCP server implementation that integrates with SearXNG, providing privacy-focused meta search capabilities.
what is SearXNG MCP Server?
SearXNG MCP Server is an implementation that integrates with SearXNG, providing privacy-focused meta search capabilities by combining results from multiple search engines without tracking or profiling users.
how to use SearXNG MCP Server?
To use the SearXNG MCP Server, install it via npm and run it directly or configure it with Dive Desktop. You need a local SearXNG instance running to utilize its features.
key features of SearXNG MCP Server?
- Meta search combining results from various search engines
- Privacy-focused with no tracking or user profiling
- Supports multiple categories including news, science, and images
- Language support for specific or all languages
- Time range filtering for search results
- Safe search options with three levels of filtering
- Fallback support with multiple SearXNG instances for reliability
use cases of SearXNG MCP Server?
- Conducting privacy-focused searches across multiple engines.
- Filtering search results based on time and content type.
- Utilizing safe search features for family-friendly browsing.
FAQ from SearXNG MCP Server?
- Is SearXNG MCP Server free to use?
Yes! It is open-source and free to use.
- Do I need to set up SearXNG separately?
Yes, a local SearXNG instance must be running to use the MCP server.
- Can I customize the search engines used?
Yes, you can modify the configuration to change the list of search engines.
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
Installation
npm install -g @kevinwatt/mcp-server-searxng
Usage
Direct Run
mcp-server-searxng
Dive Desktop
With- 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 start
License
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/searxng
Test 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=test
Container 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 searxng
The --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:8080
-
SEARXNG_USER_AGENT
: Custom User-Agent header for requests Default:MCP-SearXNG/1.0
-
NODE_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.