SearXNG Search — Claude Code MCP server: web search, no API key
Wires an AI assistant to your own SearXNG instance for web search with pagination and URL reading. Useful when you want search without a paid vendor key.
claude mcp add mcp-searxng -e SEARXNG_URL=<SEARXNG_URL> -e AUTH_USERNAME=<AUTH_USERNAME> -e AUTH_PASSWORD=<AUTH_PASSWORD> -- npx -y mcp-searxngWhat SearXNG Search does
The server sits between the client and SearXNG. The client either spawns a local STDIO process or talks to an HTTP service, and SEARXNG_URL points at the search service itself, not at the MCP endpoint. Four tools ship with it: searxng_web_search for finding and refining results, searxng_search_suggestions for query completion, searxng_instance_info for categories and engines, and web_url_read for pulling a known page as text or Markdown.
You need a SearXNG instance with JSON search turned on before anything works. This project does not install SearXNG. No instance of your own means running a self-hosted one or picking a public one, and a public instance sees your query and may log it. Neither SearXNG nor this integration makes you anonymous on its own.
Local use needs Node.js 22 or later and npx. Docker is an option, as are Streamable HTTP with static bearer auth and optional OAuth, plus a semicolon-separated replica list for interchangeable deployments. There is no paid search-vendor key involved, but the instance is the hard dependency — check that first.
What it helps with
- give an assistant web search without buying a vendor API key
- read a found page as text or Markdown
- pull text out of a PDF behind a link
- refine a query with instance suggestions
- inspect which categories and engines an instance exposes
Example prompts for the agent
- Search for SearXNG docs with searxng_web_search and show the top results
- Read this URL with web_url_read and summarise it
- Call searxng_instance_info and list the available categories
How to install SearXNG Search
Platform CLI
claude mcp add mcp-searxng -e SEARXNG_URL=<SEARXNG_URL> -e AUTH_USERNAME=<AUTH_USERNAME> -e AUTH_PASSWORD=<AUTH_PASSWORD> -- npx -y mcp-searxngReplace <…> with your own values
Platform CLI
codex mcp add searxng-search --env SEARXNG_URL=<SEARXNG_URL> --env AUTH_USERNAME=<AUTH_USERNAME> --env AUTH_PASSWORD=<AUTH_PASSWORD> -- npx -y mcp-searxngReplace <…> with your own values
Config file
{
"mcpServers": {
"searxng-search": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "<SEARXNG_URL>",
"AUTH_USERNAME": "<AUTH_USERNAME>",
"AUTH_PASSWORD": "<AUTH_PASSWORD>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"searxng-search": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "<SEARXNG_URL>",
"AUTH_USERNAME": "<AUTH_USERNAME>",
"AUTH_PASSWORD": "<AUTH_PASSWORD>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e SEARXNG_URL=<SEARXNG_URL> -e AUTH_USERNAME=<AUTH_USERNAME> -e AUTH_PASSWORD=<AUTH_PASSWORD> searxng-search npx -y mcp-searxngReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about SearXNG Search
How do I install SearXNG Search in Claude?
Run `claude mcp add mcp-searxng -e SEARXNG_URL=<SEARXNG_URL> -e AUTH_USERNAME=<AUTH_USERNAME> -e AUTH_PASSWORD=<AUTH_PASSWORD> -- npx -y mcp-searxng`, replacing the placeholders with your instance URL and credentials. Then reload the client and check its MCP tool inventory.
What does SearXNG Search do?
It connects an MCP client to SearXNG and exposes four tools: search with pagination and filters, query suggestions, instance info, and URL reading. Results come back as text or JSON, and pages can be read as HTML, structured text or bounded PDF text.
Do I need an API key?
No paid search-vendor key is required. What you do need is a working SearXNG instance with JSON search enabled, either one you operate or one you trust.