home / mcp / searxng mcp server

Searxng MCP Server

Wraps a local SearXNG instance to run searches via MCP calls and return results.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "baadir-searxng-mcp": {
      "command": "node",
      "args": [
        "server.js"
      ],
      "env": {
        "SEARXNG_BASE": "http://localhost:8080"
      }
    }
  }
}

This MCP server wraps a local SearXNG instance, enabling you to perform searches through MCP-compatible clients. It forwards your queries to SearXNG running on your host and returns the results back to the client, enabling streamlined integration and automation.

How to use

You can use this MCP server with any MCP client by invoking the standard searxng_search action. Provide your search query and optional parameters such as result limit, language, or time range. The MCP server reads the local SearXNG endpoint you specify and returns the search results to your client.

How to install

Prerequisites you need before starting are: Node.js installed on your machine and SearXNG running locally.

1. Clone the MCP server repository for searxng-mcp.

2. Install the required dependencies.

3. Run the MCP server with a local SearXNG base URL set via environment variable SEARXNG_BASE.

Additional setup notes

The MCP server expects SearXNG to be accessible at the base URL you provide, for example http://localhost:8080. You can override this by setting SEARXNG_BASE to a different URL before starting the server.

Configuration and examples

{
  "mcpServers": {
    "searxng": {
      "command": "node",
      "args": ["server.js"],
      "env": {
        "SEARXNG_BASE": "http://localhost:8080"
      }
    }
  }
}

Security and maintenance notes

Keep SEARXNG_BASE pointing to a trusted local or private network instance. Regularly update both the MCP server and SearXNG to benefit from security fixes and feature improvements.

Available tools

searxng_search

Performs a search against the local SearXNG instance via MCP. Accepts parameters such as query, limit, language, and time_range to shape the results.