icon for mcp server

SearXNG Search Engine

STDIO

MCP server implementation integrating with SearXNG for privacy-focused meta search capabilities.

SearXNG MCP Server

smithery badge

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

Installing via Smithery

To install SearXNG MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kevinwatt/mcp-server-searxng --client claude

Manual Installation

npm install -g @kevinwatt/mcp-server-searxng

Usage

Direct Run

mcp-server-searxng

With Dive Desktop

  1. Click "+ Add MCP Server" in Dive Desktop
  2. Copy and paste this configuration:
{ "mcpServers": { "searxng": { "command": "npx", "args": [ "-y", "@kevinwatt/mcp-server-searxng" ] } } }
  1. 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

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.

Be the First to Experience MCP Now