- Home
- MCP servers
- MCP SearXNG Enhanced Server
MCP SearXNG Enhanced Server
- 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