Get the FREE Ultimate OpenClaw Setup Guide →

mcp-searxng-enhanced

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

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio overtlids-mcp-searxng-enhanced docker 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

How to use

This MCP server provides a Dockerized instance that exposes a SearXNG-powered web search experience with category-aware results (general, images, videos, files, maps, social). It also supports website scraping with citation metadata, conversion of Reddit URLs, and a PDF-to-Markdown workflow via PyMuPDF tooling. The server is designed to run behind a running SearXNG instance and to be managed by an MCP client (e.g., the Cline extension in VS Code). To use it, start the container with the required environment variables (notably SEARXNG_ENGINE_API_BASE_URL to point at your SearXNG API) and any tuning values you need for rate limiting, caching, and result counts. Once running, MCP clients can issue context-aware queries and receive structured responses that leverage the integrated tools for searching, scraping, and document extraction.

How to install

Prerequisites:

Step-by-step:

  1. Pull/build the Docker image locally (example shown uses the published image):
# Pull the latest image
docker pull overtlids/mcp-searxng-enhanced:latest
  1. Run the container with required environment variables (adjust values to your environment):
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" \
  -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
  1. Verify the server starts and is accessible by your MCP client. If you prefer a native Python deployment, refer to the repository’s Python-based setup in the README; the current preferred method is via Docker for consistency with SearXNG and environment-driven configuration.

Additional notes

Environment variables are the primary configuration mechanism. The MCP client (e.g., Cline in VS Code) can manage these variables by constructing the docker run command with -e flags. The default values shown in the README reflect the Dockerfile defaults; adjust SEARXNG_ENGINE_API_BASE_URL to point to your SearXNG instance. If you omit DESIRED_TIMEZONE, the server will use its default timezone. If you omit SEARXNG_ENGINE_API_BASE_URL, the server may not be able to reach SearXNG. The configuration also supports an ods_config.json file via ODS_CONFIG_PATH for advanced behavior. For troubleshooting, check container logs for errors related to SearXNG connectivity, timeouts, or rate limiting.

Related MCP Servers

Sponsor this space

Reach thousands of developers