SearXNG MCP Server

An MCP server that provides web search capabilities via SearXNG

README.md

SearXNG MCP Server

A Model Context Protocol (MCP) server that provides web search capabilities by integrating with a SearXNG instance.

Features

  • Web Search: Perform powerful aggregated searches across multiple engines.
  • Discovery: Programmatically retrieve available categories and engines.
  • Stateless HTTP: Compatible with any standard JSON-RPC client.
  • Flexible Configuration: Supports environment variables and command-line arguments.

Prerequisites

  • Python 3.10+
  • A running SearXNG instance.

Installation

  1. Clone the repository and navigate to the directory.
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Set up your .env file (optional):
    SEARXNG_URL=http://your-searxng-instance:8080
    MCP_PORT=32123
    MCP_HOST=127.0.0.1
    

Usage

Run the server using uv or standard python:

python searxng_mcp.py --transport http --port 32123 --searxng http://searx.lan

Run with Docker

  1. Build the image:

    docker build -t searxng-mcp .
    
  2. Run the container:

    docker run -d \
      -p 32123:32123 \
      -e SEARXNG_URL=http://your-searxng-instance:8080 \
      --name searxng-mcp \
      searxng-mcp
    

Transport Options

  • stdio: Standard input/output (default for some MCP clients).
  • http: Stateless HTTP (streamable-http).
  • sse: Server-Sent Events.

Search Abilities Guide

SearXNG aggregates results from various sources. This guide outlines the capabilities available through the searxng_search tool.

Search Categories

Categories help refine your search by content type. Use these in the categories parameter (comma-separated).

Category Description
general Default web search (Google, Brave, DuckDuckGo, etc.)
images Image search results
videos Video content from YouTube, Vimeo, etc.
news Recent news articles
map Geographical and map information
it IT-related searches (StackOverflow, GitHub, etc.)
science Scientific papers and articles (ArXiv, Google Scholar)
files Torrent and file searches
social_media Posts and profiles from social platforms

Supported Engines

SearXNG can query over 130 engines. Configured engines typically include:

  • Web: Google, Brave, DuckDuckGo, Qwant, Startpage
  • Knowledge: Wikipedia, Wikidata
  • Development: GitHub, StackOverflow, PyPI
  • Social: Reddit, Twitter/X

Advanced Search Parameters

  • categories: Filter by specific types (e.g., news,it).
  • engines: Force specific engines (e.g., google,wikipedia).
  • language: Specify search language (e.g., en, es, fr).
  • pageno: Navigate through multiple pages of results.
  • time_range: Filter by date (day, month, year).
  • safesearch: Control content filtering (0=None, 1=Moderate, 2=Strict).

Programmatic Discovery

Use the searxng_get_info tool to dynamically retrieve the list of enabled categories and engines from your instance.

Tools 2

searxng_searchPerform aggregated searches across multiple engines with optional filtering.
searxng_get_infoDynamically retrieve the list of enabled categories and engines from the SearXNG instance.

Environment Variables

SEARXNG_URLThe base URL of your running SearXNG instance
MCP_PORTPort for the MCP server to listen on
MCP_HOSTHost address for the MCP server

Try it

Search for the latest scientific papers on quantum computing from the last month.
Find recent news articles about AI regulations using the news category.
List all available search engines and categories configured on my SearXNG instance.
Search for Python tutorials on StackOverflow and GitHub using the IT category.

Frequently Asked Questions

What are the key features of SearXNG MCP Server?

Aggregated web search across over 130 search engines. Support for search categories like news, science, and IT. Advanced filtering by language, time range, and safety settings. Programmatic discovery of available engines and categories. Stateless HTTP and stdio transport support.

What can I use SearXNG MCP Server for?

Researching scientific topics by querying academic-focused engines. Aggregating news from multiple sources to get a balanced perspective. Finding technical documentation and code snippets across developer platforms. Performing privacy-focused web searches through a self-hosted instance.

How do I install SearXNG MCP Server?

Install SearXNG MCP Server by running: pip install -r requirements.txt

What MCP clients work with SearXNG MCP Server?

SearXNG MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep SearXNG MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest