1. Conduid
  2. AI
  3. Ihor-Sokoliuk/MCP-SearXNG
MCP server · AI

Ihor-Sokoliuk/MCP-SearXNG

基于MCP技术的SearXNG搜索引擎服务器

Unclaimed MIT last commit 6 months ago devtools
86Excellent

Scored 19 days ago · breakdown

About Ihor-Sokoliuk/MCP-SearXNG

Ihor-Sokoliuk/MCP-SearXNG is an MCP server published by ihor-sokoliuk in the AI category: 基于MCP技术的SearXNG搜索引擎服务器. It has been installed 0 times through Conduid.

The repository has 501 stars and 83 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx mcp-searxng
Claude Code
claude mcp add searxng -- npx -y searxng-mcp
npx
npx -y searxng-mcp
uvx
uvx mcp-server-searxng
pip
pip install mcp-server-searxng
Docker
docker run -i --rm isokoliuk/mcp-searxng

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Ihor-Sokoliuk/MCP-SearXNG

Powered by Claude · Grounded in docs

I know everything about Ihor-Sokoliuk/MCP-SearXNG. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v2.1.0v2.1.0 · 25 Aug 2026Fixed Reliable time-range validation for explicit engines:** Searches that explicitly select engines now verify each engine's live time-range capability before sending the request. Unsupported, unknown, or unavailable capability…
v2.0.0v2.0.0 · 21 Aug 2026Breaking Changes Node.js 22 or later is now required:** Node.js 20 is no longer supported, and the PDF extraction runtime now uses `unpdf` 1.8.1 with loading-task teardown. Consumers and deployments must upgrade to Node.js 22 or a newer…
v1.16.0v1.16.0 · 20 Aug 2026Added Bounded SearXNG response-body consumption:** Search JSON and HTML fallback, `/config`, and suggestions now share a streaming response reader with a configurable `SEARXNG_MAX_RESPONSE_BYTES` ceiling (5 MiB by default). Request…
v1.15.0v1.15.0 · 11 Aug 2026Added Configurable search result detail:** `searxng_web_search` accepts optional `result_detail` values `compact` and `full` (default). Compact responses emit only safe title, URL, and description/content-snippet fields (JSON keys:…
v1.14.1v1.14.1 · 7 Aug 2026Fixed Built HTTP transport regression coverage now exercises real loopback TCP:** The end-to-end suite launches the compiled CLI in both stateful and stateless modes and verifies session negotiation, tool listing, bounded readiness and…

README

SearXNG MCP Server

An MCP server that integrates the SearXNG API, giving AI assistants web search capabilities.

Quick Start

Add to your MCP client configuration (e.g. claude_desktop_config.json):

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

Replace YOUR_SEARXNG_INSTANCE_URL with the URL of your SearXNG instance (e.g. https://search.example.com).

Features

  • Web Search: General queries, news, articles, with pagination.
  • URL Content Reading: Advanced content extraction with pagination, section filtering, and heading extraction.
  • Intelligent Caching: URL content is cached with TTL (Time-To-Live) to improve performance and reduce redundant requests.
  • 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.

How It Works

mcp-searxng is a standalone MCP server — a separate Node.js process that your AI assistant connects to for web search. It queries any SearXNG instance via its HTTP JSON API.

Not a SearXNG plugin: This project cannot be installed as a native SearXNG plugin. Point it at any existing SearXNG instance by setting SEARXNG_URL.

AI Assistant (e.g. Claude)
        │  MCP protocol
        ▼
  mcp-searxng  (this project — Node.js process)
        │  HTTP JSON API  (SEARXNG_URL)
        ▼
  SearXNG instance

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 with advanced content extraction options
    • Inputs:
      • url (string): The URL to fetch and process
      • startChar (number, optional): Starting character position for content extraction (default: 0)
      • maxLength (number, optional): Maximum number of characters to return
      • section (string, optional): Extract content under a specific heading (searches for heading text)
      • paragraphRange (string, optional): Return specific paragraph ranges (e.g., '1-5', '3', '10-')
      • readHeadings (boolean, optional): Return only a list of headings instead of full content

Installation

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

Pre-built image:

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

To pass additional env vars, add -e VAR_NAME to args and the variable to env.

Build locally:

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

Use the same config above, replacing isokoliuk/mcp-searxng:latest with mcp-searxng:latest.

docker-compose.yml:

services:
  mcp-searxng:
    image: isokoliuk/mcp-searxng:latest
    stdin_open: true
    environment:
      - SEARXNG_URL=YOUR_SEARXNG_INSTANCE_URL
      # Add optional variables as needed — see CONFIGURATION.md

MCP client config:

{
  "mcpServers": {
    "searxng": {
      "command": "docker-compose",
      "args": ["run", "--rm", "mcp-searxng"]
    }
  }
}

By default the server uses STDIO. Set MCP_HTTP_PORT to enable HTTP mode:

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

Endpoints: POST/GET/DELETE /mcp (MCP protocol), GET /health (health check)

Test it:

MCP_HTTP_PORT=3000 SEARXNG_URL=http://localhost:8080 mcp-searxng
curl http://localhost:3000/health

Configuration

Set SEARXNG_URL to your SearXNG instance URL. All other variables are optional.

Full environment variable reference: CONFIGURATION.md

Troubleshooting

403 Forbidden from SearXNG

Your SearXNG instance likely has JSON format disabled. Edit settings.yml (usually /etc/searxng/settings.yml):

search:
  formats:
    - html
    - json

Restart SearXNG (docker restart searxng) then verify:

curl 'http://localhost:8080/search?q=test&format=json'

You should receive a JSON response. If not, confirm the file is correctly mounted and YAML indentation is valid.

See also: SearXNG settings docs · discussion

Contributing

See CONTRIBUTING.md

License

MIT — see LICENSE for details.

README mirrored from the source repository 19 days ago. The original is authoritative.

Questions

About Ihor-Sokoliuk/MCP-SearXNG

How do I install Ihor-Sokoliuk/MCP-SearXNG?

Run npx mcp-searxng, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Ihor-Sokoliuk/MCP-SearXNG safe to use with an AI agent?

Its trust score is 86 out of 100 (excellent). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Ihor-Sokoliuk/MCP-SearXNG still maintained?

Yes — the latest release is v2.1.0 (25 Aug 2026), and the last commit was 6 months ago. The repository has 501 stars and 0 open issues.