SearXNG HTTP MCP

Set up SearXNG HTTP MCP with Docker or uvx. Compare HTTP and stdio modes, configure the search instance and check optional server authentication.

Local serverstreamable-httpPython

What is the SearXNG HTTP MCP Server?

SearXNG HTTP MCP gives an assistant access to a SearXNG search instance. It supports a hosted HTTP deployment, a Docker stdio connection and a local Python package workflow.

Choose the deployment that fits

The publisher's Docker image includes SearXNG. It can expose the documented MCP HTTP path or run in stdio mode alongside a client. Follow the current container and client examples for the selected mode.

For the uvx route, the README requires Python 3.14 or later and an existing SearXNG instance. Set SEARXNG_URL to that instance. The package's documented default points at the local loopback address; it is not a public hosted service supplied by the directory.

Configure access deliberately

The server supports API-key authentication through x-api-key and HTTP Basic Auth when API_KEY is set. Follow the publisher's authentication instructions for a shared deployment. Authentication of the MCP service and configuration of the underlying search instance are separate setup concerns.

Check the search scope

Specify the query, relevant engine or category, and desired result scope. Review the returned sources before treating a result as evidence. Available engines, categories and result behaviour depend on the connected SearXNG deployment.

Deployment, authentication and client examples.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
searchSearch the web using SearXNG
autocompleteGet search query suggestions
engine_infoDiscover available engines and categories

How to install the SearXNG HTTP MCP Server

{
  "mcpServers": {
    "searxng": {
      "command": "uvx",
      "args": [
        "searxng-http-mcp"
      ],
      "env": {
        "SEARXNG_URL": "http://127.0.0.1:8080"
      }
    }
  }
}

Point SEARXNG_URL to your existing SearXNG instance. Follow the publisher’s Python requirements.

Configuration

Docker for the bundled deployment, or Python 3.14 or later and an existing SearXNG instance for the uvx route. Follow the selected mode’s authentication and client setup instructions.

VariableDescriptionRequired
SEARXNG_URLSearXNG instance for the uvx/standalone mode. The documented default is local loopback.Optional
API_KEYOptional server authentication setting; configured clients must then provide the required credential.Optional

Example prompts to try

  • “Search the connected SearXNG instance for the specified topic and return the source links.”
  • “Show which search engines and categories the connected deployment exposes.”