SearXNG MCP Server

by kevinwatt

Integrations

  • 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.

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

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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

This server provides a privacy-focused meta search capability by integrating multiple search engines without tracking or user profiling, supporting various categories and languages for filtered searches.

  1. Features
    1. Installation
      1. Usage
        1. Direct Run
        2. With Dive Desktop
      2. Tool Documentation
        1. Development
          1. License
            1. Prerequisites
              1. Run SearXNG with Docker
                1. Quick Start
                2. Test Search Function
                3. Container Management
                4. Custom Configuration
                5. Environment Variables

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A server facilitating web search functionality by utilizing Perplexity AI's API, designed to integrate with the Claude desktop client for enhanced search queries.
                Last updated -
                1
                94
                Python
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                This server enables users to perform Google News searches with automatic categorization and multi-language support via SerpAPI integration.
                Last updated -
                1
                49
                46
                JavaScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                This server enables AI systems to integrate with Tavily's search and data extraction tools, providing real-time web information access and domain-specific searches.
                Last updated -
                2
                5,133
                334
                JavaScript
                MIT License
                • Apple
                • Linux
              • A
                security
                F
                license
                A
                quality
                This server allows users to perform web searches using Perplexity AI, providing a tool for retrieving search results through a simple API interface.
                Last updated -
                1
                2
                TypeScript

              View all related MCP servers

              ID: fjoqf30os0