Skip to main content
Glama
tobioffice

SearXNG MCP Server

by tobioffice

SearXNG MCP Server

npm License: MIT MCP

A Model Context Protocol server that integrates the SearXNG API, giving any MCP client private web search and URL-to-Markdown reading through your own meta-search instance.

Features

  • Web search against any SearXNG instance - no third-party search API keys

  • Pagination with page selection

  • Filters: time range (day/month/year), language, and safe search

  • URL reader: fetch any URL and convert it to Markdown

  • Authentication: optional HTTP Basic Auth for protected instances

Related MCP server: SearXNG MCP Server

Tools

Performs a web search and returns titles, descriptions and URLs.

Parameter

Type

Required

Description

query

string

yes

The search query

pageno

number

no

Search page number, starts at 1 (default 1)

time_range

string

no

One of day, month, year

language

string

no

Language code (e.g. en, fr, de) or all (default all)

safesearch

string

no

0 none, 1 moderate, 2 strict (default 0)

web_url_read

Fetches a URL and converts the HTML content to Markdown.

Parameter

Type

Required

Description

url

string

yes

The URL to fetch and process

Configuration

Environment variable

Default

Description

SEARXNG_URL

http://localhost:8080

Base URL of your SearXNG instance

AUTH_USERNAME

-

Username for HTTP Basic Auth (optional)

AUTH_PASSWORD

-

Password for HTTP Basic Auth (optional)

Choose a public instance from searx.space or run your own.

Installation

npx

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

npm global install

npm install -g @tobioffice/mcp-searxng
{
  "mcpServers": {
    "searxng": {
      "command": "tobioffice-mcp-searxng",
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

From source

git clone https://github.com/tobioffice/mcp-searxng.git
cd mcp-searxng
pnpm install
pnpm run build
node dist/index.js

Ready-to-copy client configs are included in claude_desktop_config_example.json and claude_desktop_config_with_auth.json.

Development

pnpm install
pnpm run build   # compile TypeScript to dist/
pnpm run watch   # compile in watch mode

License

MIT - see LICENSE.

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.

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

TDQS

B3.2/5.0

Scored across 2 tools

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

ActivityMaintained
ResponsivenessNo issues

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.
    11
    MIT
  • A
    license
    A
    quality
    D
    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
    10,578 npm
    2
    MIT