mcp-searxng

The SearXNG MCP server is an implementation of an MCP server that provides web search capabilities. Users can search for news and articles based on queries, utilizing features such as pagination, time filtering, language selection, and safe search. This allows for a more personalized search experience.

GitHub Stars

137

User Rating

5.0

/5

Forks

30

Issues

2

Views

9

Favorites

0

README
SearXNG MCP Server

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

SearXNG Server MCP server

smithery badge

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.
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
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
{
  "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.

Author Information

4

Followers

10

Repositories

0

Gists

70

Total Contributions

Top Contributors

Threads