MCP SearXNG Enhanced Server

Enhanced MCP server for SearXNG: category-aware web-search, web-scraping, and date/time retrieval.
  • python

35

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "overtlids-mcp-searxng-enhanced": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--network=host",
        "-e",
        "SEARXNG_ENGINE_API_BASE_URL=http://host.docker.internal:8080/search",
        "-e",
        "DESIRED_TIMEZONE=America/New_York",
        "-e",
        "ODS_CONFIG_PATH=/config/ods_config.json",
        "-e",
        "RETURNED_SCRAPPED_PAGES_NO=3",
        "-e",
        "SCRAPPED_PAGES_NO=5",
        "-e",
        "PAGE_CONTENT_WORDS_LIMIT=5000",
        "-e",
        "CITATION_LINKS=True",
        "-e",
        "MAX_IMAGE_RESULTS=10",
        "-e",
        "MAX_VIDEO_RESULTS=10",
        "-e",
        "MAX_FILE_RESULTS=5",
        "-e",
        "MAX_MAP_RESULTS=5",
        "-e",
        "MAX_SOCIAL_RESULTS=5",
        "-e",
        "TRAFILATURA_TIMEOUT=15",
        "-e",
        "SCRAPING_TIMEOUT=20",
        "-e",
        "CACHE_MAXSIZE=100",
        "-e",
        "CACHE_TTL_MINUTES=5",
        "-e",
        "CACHE_MAX_AGE_MINUTES=30",
        "-e",
        "RATE_LIMIT_REQUESTS_PER_MINUTE=10",
        "-e",
        "RATE_LIMIT_TIMEOUT_SECONDS=60",
        "-e",
        "IGNORED_WEBSITES=",
        "overtlids/mcp-searxng-enhanced:latest"
      ],
      "env": {
        "CACHE_MAXSIZE": "100",
        "CITATION_LINKS": "True",
        "MAX_MAP_RESULTS": "5",
        "ODS_CONFIG_PATH": "/config/ods_config.json",
        "DESIRED_TIMEZONE": "America/New_York",
        "MAX_FILE_RESULTS": "5",
        "SCRAPING_TIMEOUT": "20",
        "CACHE_TTL_MINUTES": "5",
        "MAX_IMAGE_RESULTS": "10",
        "MAX_VIDEO_RESULTS": "10",
        "SCRAPPED_PAGES_NO": "5",
        "MAX_SOCIAL_RESULTS": "5",
        "TRAFILATURA_TIMEOUT": "15",
        "CACHE_MAX_AGE_MINUTES": "30",
        "PAGE_CONTENT_WORDS_LIMIT": "5000",
        "RATE_LIMIT_TIMEOUT_SECONDS": "60",
        "RETURNED_SCRAPPED_PAGES_NO": "3",
        "SEARXNG_ENGINE_API_BASE_URL": "http://host.docker.internal:8080/search",
        "RATE_LIMIT_REQUESTS_PER_MINUTE": "10"
      }
    }
  }
}

You run a Model Context Protocol (MCP) server that provides category-aware web search, website scraping with citations, and date/time tools. It is designed to work with SearXNG and modern MCP clients, giving you fast search results, reliable page scraping, and timezone-aware date utilities all through MCP-enabled tooling.

How to use

You manage and run this MCP server from your MCP client. Use the client to start the server container or native process with the appropriate environment variables, then call the server’s tools to search the web, fetch and scrape websites, or obtain the current date and time. The server exposes commands you can invoke via the MCP client, and it handles category-aware searches, page scraping, and time zone-aware date calculations. When you perform a web search, you can specify categories such as general, images, videos, files, map, or social media to tailor results.

How to install

Prerequisites: ensure Docker is installed on your system and you have network access to a running SearXNG instance.

Step 1. Build the Docker image for the MCP server.

docker build -t overtlids/mcp-searxng-enhanced:latest .

Step 2. Run the MCP server using Docker and configure the environment to point at your SearXNG instance and desired timezone.

docker run -i --rm --network=host \
  -e SEARXNG_ENGINE_API_BASE_URL="http://127.0.0.1:8080/search" \
  -e DESIRED_TIMEZONE="America/New_York" \
  overtlids/mcp-searxng-enhanced:latest

Note: If you omit DESIRED_TIMEZONE, the default is used. SEARXNG_ENGINE_API_BASE_URL must reflect your SearXNG endpoint. You can customize many other settings through environment variables as described in the environment variables section.

Additional content

Configuration and runtime flow follow three layers: hardcoded defaults, a configuration file, and environment variables. Environment variables take precedence at runtime, enabling you to customize behavior without editing code. If you use a client-managed flow, you can specify the environment variables in the client’s MCP settings, and the client will construct the appropriate docker run command.

Configuration and management

Environment variables control core behavior, including the base URL for SearXNG, time zone, and limits for scraping and caching. You can also provide a path to a persistent configuration file via ODS_CONFIG_PATH, and control what content is returned by adjusting page and cache settings.

Troubleshooting

If you cannot connect to SearXNG, verify that SEARXNG_ENGINE_API_BASE_URL points to the correct endpoint and that SearXNG is reachable from the MCP server. If you encounter rate limit or timeout issues, adjust the corresponding environment variables to increase the allowed requests or timeouts. For Docker networking, on Windows/Mac use host.docker.internal; on Linux you may need the host IP address.

Available tools

search_web

Web search via SearXNG with optional category filters to tailor results (general, images, videos, files, map, social media)

get_website

Scrape a website and retrieve content with citation metadata and Reddit URL conversion where applicable

get_current_datetime

Return the current date and time in the configured timezone

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational