MCP HubMCP Hub
ihor-sokoliuk

mcp-searxng

by: ihor-sokoliuk

MCP Server for SearXNG

55created 23/12/2024
Visit
SearXNG

📌Overview

Purpose: Implement a Model Context Protocol (MCP) server that integrates the SearxNG API for enhanced web search functionality.

Overview: The SearXNG MCP Server provides a seamless interface for executing web searches, allowing users to retrieve and manage search results efficiently through paginated queries. It can be easily configured using public or local SearxNG instances and supports integration with various platforms, including Claude Desktop.

Key Features:

  • Web Search: Allows users to perform comprehensive web searches, including news and articles, with the ability to navigate between pages of results.

  • Pagination: Offers customizable options to manage the number of results returned per page and the starting point for the next set of results.


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 return size and result counts options.

Tools

searxng_web_search

  • Execute web searches with pagination
  • Inputs:
    • query (string): Search terms
    • count (number, optional): Results per page (default 20)
    • offset (number, optional): Pagination offset (default 0)

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. The default value is http://localhost:8080.

Usage with Claude Desktop

Installing via Smithery

To install SearxNG Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @ihor-sokoliuk/server-searxng --client claude

NPX Configuration

{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y"
        "<full path to mcp-searxng repo>/"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

Docker

Build

docker build -t mcp-server-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-server-searxng:latest"
      ],
      "env": {
        "SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
      }
    }
  }
}

License

This MCP server is licensed under the MIT License, allowing you to use, modify, and distribute the software under its terms. For more details, see the LICENSE file in the project repository.