Skip to main content
Glama
EmericLaberge

Hermes SearXNG MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NO_PROXYNoComma-separated list of hosts to bypass the proxy
HTTP_PROXYNoProxy URL for HTTP requests (e.g., http://proxy:8080)
HTTPS_PROXYNoProxy URL for HTTPS requests (e.g., http://proxy:8080)
SEARXNG_HOSTNoHTTP host (only for HTTP transport)0.0.0.0
SEARXNG_PORTNoHTTP port (only for HTTP transport)8000
SSL_CERT_FILENoPath to custom CA certificate bundle
SEARXNG_BASE_URLYesURL of your SearXNG instance (e.g., http://localhost:8888)
SEARXNG_TRANSPORTNoTransport type: stdio or httpstdio
REQUESTS_CA_BUNDLENoPath to custom CA certificate bundle (alternative to SSL_CERT_FILE)
SEARXNG_USER_AGENTNoCustom User-Agent headerChrome UA
SEARXNG_HEADERS_JSONNoJSON object with custom HTTP headers{}
SEARXNG_TIMEOUT_SECONDSNoRequest timeout in seconds30
SEARXNG_MAX_CONTENT_BYTESNoMaximum content size in bytes (default: 5MB)5242880

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
web_searchA

Search the web using SearXNG and return results.

This is the primary web search tool. Use it when you need to:

  • Find information on the web

  • Research a topic

  • Look up documentation

  • Debug errors (search for exact error messages)

  • Find GitHub issues or Stack Overflow threads

Args: query: Search query. Use specific keywords and quotes for exact phrases. num_results: Number of results to return (default: 5, max: 50). categories: Search category (general, news, images, videos, it, science, files, music). language: Language code (en, fr, es, de, etc.). time_range: Time filter (day, week, month, year) or None for no filter. include_content: If True, fetch and extract full page content for each result. This is slower but provides complete content without follow-up calls.

Returns: Dictionary with "results" list, where each result has: - title: Result title - url: Result URL - snippet: Search snippet from SearXNG - content: Full page content (if include_content=True, otherwise empty string) - engine: List of search engines that returned this result

Example: >>> await web_search("python async await", num_results=3) { "results": [ { "title": "Python Asyncio - Real Python", "url": "https://realpython.com/async-io-python/", "snippet": "Learn how to use Python's asyncio...", "content": "# Python Asyncio...", "engine": ["google", "bing"] } ] }

Notes: - Requires SEARXNG_BASE_URL environment variable to be set. - Content extraction is best-effort and may fail for paywalled or protected content. - For large num_results with include_content=True, this can be slow due to parallel fetching.

get_contentA
Fetch a URL and extract LLM-ready Markdown content.

Use this when you already have a specific URL and want to read its content.
If you need to discover URLs first, use web_search() instead.

Args:
    url: URL to fetch and extract content from.

Returns:
    Dictionary with:
    - url: The requested URL
    - content: Extracted Markdown content

Example:
    >>> await get_content("https://example.com")
    {
        "url": "https://example.com",
        "content": "# Example Domain

This domain is for use in illustrative examples..." }

Notes:
    - Specialized handlers for GitHub Issues, Stack Exchange, Wikipedia, and arXiv.
    - Falls back to Trafilatura and BeautifulSoup for general websites.
    - Content extraction is best-effort and may fail for paywalled or protected content.
    - Some content types (PDFs, videos) may not be supported.

Raises:
    ContentExtractionError: If fetching or extraction fails.
search_newsA

Search recent news articles using SearXNG.

This is a convenience wrapper around web_search() optimized for news.

Args: query: News topic or event to search for. num_results: Number of articles to return (default: 10). time_range: Time filter (day, week, month, year). Defaults to "week". language: Language code for results (default: "en").

Returns: Dictionary with "results" list of news articles.

Example: >>> await search_news("artificial intelligence breakthrough", num_results=5) { "results": [ { "title": "Major AI Breakthrough Announced", "url": "https://example.com/ai-breakthrough", "snippet": "Researchers announce...", "content": "", "engine": ["google"] } ] }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
Server ConfigurationCurrent server configuration and capabilities
Usage GuideComplete guide for using all MCP tools

TDQS

A4.5/5.0

Scored across 3 tools

Disambiguation4/5

web_search and get_content are clearly distinct: one discovers URLs, the other fetches a known URL. search_news overlaps with web_search since it is a news-specific wrapper, but the descriptions clearly frame it as a convenience for news queries, so an agent can usually disambiguate.

Naming Consistency5/5

All tool names follow the same lowercase snake_case verb_noun pattern: web_search, get_content, and search_news. There are no vague verbs or mixed naming conventions.

Tool Count4/5

At 3 tools, the set is close to the ideal size and covers the core search-and-fetch workflow. search_news is somewhat redundant with web_search(categories='news'), so it does not fully earn its place, but the overall count is still reasonable.

Completeness4/5

The main workflow of discovering results and extracting page content is covered well. Minor gaps exist, such as pagination/offset for browsing deeper result sets, but agents can work around these via num_results and the supported categories.

Maintenance

ActivityMaintained
ResponsivenessNo issues