Skip to main content
Glama
tobioffice

SearXNG MCP Server

by tobioffice

SearXNG MCP Server

An MCP server implementation that integrates the SearXNG API, providing web search capabilities.

Features

  • Web Search: General queries, news, articles, with pagination.

  • Pagination: Control which page of results to retrieve.

  • Time Filtering: Filter results by time range (day, month, year).

  • Language Selection: Filter results by preferred language.

  • Safe Search: Control content filtering level for search results.

Related MCP server: SearXNG MCP Server

Tools

  • searxng_web_search

    • Execute web searches with pagination

    • Inputs:

      • query (string): The search query. This string is passed to external search services.

      • pageno (number, optional): Search page number, starts at 1 (default 1)

      • time_range (string, optional): Filter results by time range - one of: "day", "month", "year" (default: none)

      • language (string, optional): Language code for results (e.g., "en", "fr", "de") or "all" (default: "all")

      • safesearch (number, optional): Safe search filter level (0: None, 1: Moderate, 2: Strict) (default: instance setting)

  • web_url_read

    • Read and convert the content from a URL to markdown

    • Inputs:

      • url (string): The URL to fetch and process

Configuration

Setting the SEARXNG_URL

  1. Choose a SearxNG instance from the list of public instances or use your local environment.

  2. Set the SEARXNG_URL environment variable to the instance URL.

  3. The default SEARXNG_URL value is http://localhost:8080.

Using Authentication

If you are using a password protected SearxNG instance you can set a username and password for HTTP Basic Auth:

  • Set the AUTH_USERNAME environmental variable to your username

  • Set the AUTH_PASSWORD environmental variable to your password

Usage with Claude Desktop

NPX

{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

NPM

npm install -g mcp-searxng

And then in your MCP config file:

{
  "mcpServers": {
    "searxng": {
      "command": "mcp-searxng",
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

Docker

Using Pre-built Image from Docker Hub

docker pull isokoliuk/mcp-searxng:latest

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "searxng": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEARXNG_URL",
        "isokoliuk/mcp-searxng:latest"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

Build Locally

docker build -t mcp-searxng:latest -f Dockerfile .

Use

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "searxng": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEARXNG_URL",
        "mcp-searxng:latest"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Available Tools

2 tools
web_url_readB

Read the content from an URL. Use this for further information retrieving to understand the content of each URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions reading content but fails to disclose critical traits like whether it handles authentication, rate limits, error conditions (e.g., invalid URLs), content types (e.g., HTML, text), or any side effects. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences that directly state the tool's function and usage, with no wasted words. However, it could be slightly more front-loaded by leading with the core purpose more explicitly, but overall it's efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a web content reader with no annotations and no output schema), the description is incomplete. It doesn't explain what the tool returns (e.g., raw HTML, parsed text), error handling, or limitations, which are crucial for an AI agent to use it correctly. The lack of output schema exacerbates this gap, making the description insufficient for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'url' parameter documented as 'URL'. The description adds no additional meaning beyond this, such as format requirements (e.g., must include http://) or examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting without extra value from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Read') and resource ('content from an URL'), making it understandable. However, it doesn't explicitly distinguish this from its sibling tool 'searxng_web_search', which appears to be a search tool rather than a direct URL content reader, so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance by stating 'Use this for further information retrieving to understand the content of each URL,' suggesting it's for post-search content analysis. However, it lacks explicit when-to-use vs. when-not-to-use instructions or named alternatives, such as clarifying if it's for web pages only or how it differs from the sibling search tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.5.0
    • First observedsearxng_web_search
    • First observedweb_url_read

TDQS

B3.2/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: searxng_web_search performs web searches to find URLs, while web_url_read reads content from specific URLs. There is no overlap or ambiguity between searching for information and retrieving content from a known URL.

Naming Consistency4/5

Both tools use snake_case naming, which is consistent. However, the naming patterns differ slightly: searxng_web_search includes the server prefix and specifies the action (search), while web_url_read is more generic. This minor deviation prevents a perfect score.

Tool Count2/5

With only two tools, the server feels under-scoped for a web search and content retrieval domain. While the tools cover basic search and reading, there are likely missing operations such as filtering search results, handling pagination, or advanced URL processing, making the count too low for comprehensive functionality.

Completeness2/5

The tool set is severely incomplete for a web search server. It lacks essential operations like refining searches (e.g., by date, site, or type), managing search sessions, or handling errors and rate limits. Agents will face dead ends when trying to perform more complex web research tasks beyond basic search and URL reading.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables web search capabilities by integrating with a SearXNG instance to aggregate results from over 130 engines. It allows users to perform filtered searches across categories like news, science, and social media while supporting advanced parameters for language and time range.
    9
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that integrates the SearXNG API for web search and URL content extraction with advanced features like pagination, caching, and proxy support.
    4
    14,640
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tobioffice/mcp-searxng'

If you have feedback or need assistance with the MCP directory API, please join our Discord server