Skip to content
MCP Shelf

Web search through your own SearXNG instance: no vendor, no API key.

  • Started in our test
  • ★ 1.3K GitHub stars
  • Last commit 26 Oct 2026

At a glance

SearXNG is an open-source metasearch engine you host yourself. This server points your assistant at it, so searches go through your instance rather than a commercial search API, and it can fetch a result page as Markdown.

If you do not already run SearXNG, a commercial option like Exa is less work.

Made by
Ihor Sokoliuk and contributors
Licence
MIT
Latest version
2.8.1 (25 Oct 2026)
npm package
mcp-searxng
GitHub stars
1.3K
Last commit
26 Oct 2026
Tools
4
Runs on
Your computer

Our check: We ran this exact config on 26 Oct 2026: it started and answered with 4 tools.

What's in the pod: its tools

We found 4 tools when we started it on 26 Oct 2026. Every one of them only reads, so nothing changes unless you act on what it finds.

Only reads4 tools · Looks things up and changes nothing.

ToolWhat it is for
searxng_instance_infoAsks your SearXNG instance which engines, categories and defaults it offers.
searxng_search_suggestionsFetches autocomplete ideas to sharpen a vague query before searching.
searxng_web_searchRuns a search through your SearXNG instance and returns titles, links and snippets, with paging and filters.
web_url_readOpens a web page or PDF and returns readable text, or just the headings or section you ask for.

Grouped and described by us. The README on GitHub lists the inputs each tool takes.

Set it up

Pick your app for the exact snippet and where it goes.

Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)

Claude Desktop
{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "http://localhost:8080"
      }
    }
  }
}

New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.

Settings

Names are exactly as the project spells them. Required ones are marked.

SettingWhat it does
SEARXNG_URLEnvironment variable · requiredBase address of the SearXNG instance to search through. Separate several with semicolons for failover.https://search.example.com
SEARXNG_HTML_FALLBACKEnvironment variableSet to true to scrape the HTML results page when the instance refuses JSON. Best effort only.true
MCP_HTTP_PORTEnvironment variableSet it to serve over HTTP on that port. Leave it unset for the normal local setup.8080
MCP_HTTP_HOSTEnvironment variableAddress the HTTP server binds to.
MCP_HTTP_STATELESSEnvironment variableSet to true to run HTTP without sessions, for load-balanced setups.

What it can touch

It can read

  • Search results from the engines your SearXNG instance queries
  • Any web page or PDF the agent asks to read, fetched directly from that site

It can change

  • Nothing. It only searches and reads.

Safer setup: Run your own SearXNG instance. A public one sees and may log every query you send.

Before you start

  • A running SearXNG instance with JSON output enabled
  • Node.js 18 or newer

If it does not work

403 Forbidden from SearXNG
The instance has JSON output turned off or blocks API calls. Enable json under search formats in its settings.yml, or switch on SEARXNG_HTML_FALLBACK.
The tools show up but every search fails
Check SEARXNG_URL points at the SearXNG site itself, not at an MCP address, and that you can reach it from the same machine.
npx fails to start
It needs Node.js 22 or newer. Docker is an alternative that bundles its own Node.
Results are thin or stale
Ask searxng_instance_info which engines are enabled and turn more on in your instance.

Peas in a pod: similar servers

How SearXNG lines up against other browser and web data servers on the shelf.

ServerToolsRuns onLicenceStars
SearXNG4Your computerMIT1.3K
Playwright MCP25Your computerApache-2.038.7K
Firecrawl28Your computerMIT7.7K
Exa2Your computer or hosted–5.2K
Bright Data32Your computerMIT2.7K

Questions

Does it include a search engine?

No. It connects to a SearXNG instance you run or trust. SearXNG then queries Google, Bing, DuckDuckGo and others for you.

Is it free?

Yes. It is MIT licensed and needs no paid API key, which is its main draw over Brave, Exa or Firecrawl.

Is my searching private?

Only as private as the instance. Your own instance keeps queries in your hands; a public one sees them.

Can it read PDFs?

Yes. web_url_read pulls a bounded amount of text out of PDFs as well as web pages.

Full docs on GitHubihor-sokoliuk/mcp-searxng

Something wrong on this page? Tell us.

More in Browser and web data