searxng.com
searxng.com logo

SearXNG

Connects AI systems to SearXNG metasearch engine, enabling privacy-respecting web searches with customizable parameters...

Created byApr 23, 2025

SearXNG MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to perform web searches using [SearXNG](https://github.com/searxng/searxng), a privacy-respecting metasearch engine. Works out-of-the-box with zero additional deployment by automatically selecting a random instance from [SearX.space](https://searx.space/), while also supporting private instances with basic authentication.

Features

  • **Zero-configuration setup**: Works immediately by using a random public instance from [SearX.space](https://searx.space/)
  • **Private instance support**: Connect to your own SearXNG instance with optional basic authentication
  • Perform web searches with customizable parameters
  • Support for multiple search engines
  • Privacy-focused search results
  • Markdown-formatted search results
  • Sensible default values for all parameters
**CAVEAT - Public Instances might be unavailabe for this purpose and return "Request failed with status code 429"**

Installation

Prerequisites

  • Node.js (v16 or higher)
  • npm (v7 or higher)
  • Access to a SearXNG instance (self-hosted or public)

Install from source

Configuration

The SearXNG MCP server can be configured with the following environment variables:
  • `SEARXNG_URL` (optional): The URL of your SearXNG instance (e.g., `https://searx.example.com`). If not provided, a random public instance from [SearX.space](https://searx.space/) will be automatically selected, making the server usable with zero additional deployment.
  • `USE_RANDOM_INSTANCE` (optional): Set to "false" to disable random instance selection when no URL is provided. Default is "true".
  • `SEARXNG_USERNAME` (optional): Username for basic authentication when connecting to a private instance
  • `SEARXNG_PASSWORD` (optional): Password for basic authentication when connecting to a private instance
You can set these environment variables in a `.env` file in the root directory of the project:

Usage

Running the server

Integrating with Claude Desktop

  1. Open Claude Desktop
  1. Go to Settings > MCP Servers
  1. Add a new MCP server with the following configuration: ```json { "mcpServers": { "searxngmcp": { "command": "searxngmcp", "env": { // Optional: If not provided, a random public instance will be used "SEARXNG_URL": "https://searx.example.com", // Optional: Only needed for private instances with authentication "SEARXNG_USERNAME": "your_username", "SEARXNG_PASSWORD": "your_password" }, "disabled": false, "autoApprove": [] } } } ```

Integrating with Claude in VSCode

  1. Open VSCode
  1. Go to Settings > Extensions > Claude > MCP Settings
  1. Add a new MCP server with the following configuration: ```json { "mcpServers": { "searxngmcp": { "command": "node", "args": ["/path/to/searxng-mcp/build/index.js"], "env": { // Optional: If not provided, a random public instance will be used "SEARXNG_URL": "https://searx.example.com", // Optional: Only needed for private instances with authentication "SEARXNG_USERNAME": "your_username", "SEARXNG_PASSWORD": "your_password" }, "disabled": false, "autoApprove": [] } } } ```

Usage with Smolagents

SearXNG MCP can be easily integrated with Smolagents, a lightweight framework for building AI agents. This allows you to create powerful research agents that can search the web and process the results:

Available Tools

searxngsearch

Perform web searches using SearXNG, a privacy-respecting metasearch engine. Returns relevant web content with customizable parameters.

Parameters

[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]

Example

Development

Setup

Build

Watch mode (for development)

Testing with MCP Inspector

License

MIT