https://github.com/kevinwatt/mcp-server-searxng
An MCP server implementation that integrates with SearXNG, providing privacy-focused meta search capabilities.
https://github.com/kevinwatt/mcp-server-searxng
Last synced: 7 months ago
JSON representation
An MCP server implementation that integrates with SearXNG, providing privacy-focused meta search capabilities.
- Host: GitHub
- URL: https://github.com/kevinwatt/mcp-server-searxng
- Owner: kevinwatt
- License: mit
- Created: 2025-02-12T15:53:37.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-02-12T16:39:32.000Z (8 months ago)
- Last Synced: 2025-02-12T17:21:38.886Z (8 months ago)
- Language: JavaScript
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- mcp-index - SearXNG MCP Server - Integrates with SearXNG to provide privacy-focused meta search capabilities, combining results from multiple search engines without tracking or profiling users. Supports various categories, languages, and filtering options, ensuring reliable and safe search experiences. (APIs and HTTP Requests)
README
# 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
```bash
npm install -g @kevinwatt/mcp-server-searxng
```## Usage
### Direct Run
```bash
mcp-server-searxng
```### With [Dive Desktop](https://github.com/OpenAgentPlatform/Dive)
1. Click "+ Add MCP Server" in Dive Desktop
2. Copy and paste this configuration:```json
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"@kevinwatt/mcp-server-searxng"
]
}
}
}
```3. Click "Save" to install the MCP server
## Tool Documentation
- **web_search**
- Execute meta searches across multiple engines
- Inputs:
- `query` (string): Search terms
- `page` (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
```bash
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
```bash
# Create config directory
mkdir -p searxng# Create config file
tee searxng/settings.yml << EOF
use_default_settings: trueserver:
bind_address: "0.0.0.0"
secret_key: "CHANGE_THIS_TO_SOMETHING_SECURE" # Generate a random key
port: 8080search:
safe_search: 0
formats:
- html
- jsonengines:
- name: google
engine: google
shortcut: g- name: duckduckgo
engine: duckduckgo
shortcut: d- name: bing
engine: bing
shortcut: bserver.limiter: false
EOF# Start container
docker run -d \
--name searxng \
-p 8080:8080 \
-v "$(pwd)/searxng:/etc/searxng" \
searxng/searxng
```## Test Search Function
```bash
# 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
```bash
# 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 limitsFor detailed configuration options, see [SearXNG Documentation](https://docs.searxng.org/)
## 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:
```json
{
"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.