MCP-searxng

MCP.Pizza Chef: SecretiveShell

There is exactly one tool here, called search, and the only thing you give it is what you want to look up. Back comes a plain list of titles, addresses and short summaries that SearXNG has gathered from Google, Bing, Brave, DuckDuckGo and others. The catch is the missing half: you must already run a SearXNG site of your own with its machine-readable output switched on, which most public ones keep turned off. Nothing here asks for an account or payment.

Web/Research

Use This MCP server To

Search the web without paying for a search key Look things up through my own private search site Get a short list of links worth reading next Check a claim across several search engines at once Keep my searches off a commercial search account

README

MCP-searxng

An MCP server for connecting agentic systems to search systems via searXNG.

MCP SearxNG Badge

Tools

Search the web with SearXNG

Prompts

search(query: str) -> f"Searching for {query} using searXNG"

Usage

via uvx

  1. configure your client JSON like
{
  "mcpServers": {
    "searxng": {
      "command": "uvx", 
      "args": [
        "mcp-searxng"
      ]
    }
  }
}

via git clone

  1. Add the server to claude desktop (the entrypoint is main.py)

Clone the repo and add this JSON to claude desktop

you can run this server with uvx mcp-searxng, or use a local copy of the repo

{
  "mcpServers": {
    "searxng": {
      "command": "uv", 
      "args": [
        "--project",
        "/absoloute/path/to/MCP-searxng/",
        "run",
        "/absoloute/path/to/MCP-searxng/mcp-searxng/main.py"
      ]
    }
  }
}

you will need to change the paths to match your environment

Custom SearXNG URL

  1. set the environment variable SEARXNG_URL to the URL of the searxng server (default is http://localhost:8080)

  2. run your MCP client and you should be able to search the web with searxng

Note: if you are using claude desktop make sure to kill the process (task manager or equivalent) before running the server again

MCP-searxng FAQ

Do I need an account or a key?
No, and that is the appeal. The catch is the piece it does not include: a working SearXNG site. Without one, every search fails.
Why do my searches come back with an error?
Almost always the SearXNG side. It looks for one on your own machine unless you tell it otherwise, and it asks for a machine-readable answer, which public SearXNG sites usually refuse. Running your own with that output enabled is the fix.
Can I control how many results I get?
No. There is a results limit sitting unused in the code, but it is not offered as an option and never applied, so you get whatever your search site returns for the first page.
Which apps does it work in?
Claude Desktop is the documented one, and any app that can start a small local program will work the same way. Remember to fully quit the app before restarting it after a config change.
Can it change anything?
No. It reads search results and hands back text. It writes nothing, deletes nothing and runs nothing on your computer.
How hard is it to set up?
Two parts. The connector itself is a short paste into your settings. Standing up a SearXNG site, usually with Docker, and turning on its machine-readable output is the real work.
Can I use this to research a topic more privately?
Partly. You avoid handing your searches to a commercial search account, but your own site still passes the words on to the engines behind it.