# SearXNG MCP server

> Search the web and read URLs through your own SearXNG instance, with pagination, filters and query suggestions.

- Listing: https://mcp.tc/i/searxng
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Search & Web Data](https://mcp.tc/c/search-web)
- Vendor: ihor-sokoliuk
- Repository: <https://github.com/ihor-sokoliuk/mcp-searxng>
- Package: npm `mcp-searxng`

## About

Connects an MCP client to a SearXNG instance you run or trust. The assistant can search with pagination and filters, get query suggestions, inspect the instance's categories and engines, and read a known URL as text or Markdown, including HTML and PDF content.

Runs locally over STDIO with npx -y mcp-searxng and needs Node.js 22 or later. A Docker image is also available, and a Streamable HTTP mode can be enabled. Set SEARXNG\_URL to your SearXNG base URL, which must have JSON search enabled. No search vendor API key is needed. Optional Basic Auth variables exist for protected instances.

## What it can do

- Search the web through SearXNG with pagination and filters
- Get query suggestions to complete or refine a search
- Inspect instance categories, engines and defaults
- Read a known URL as text or Markdown
- Read bounded PDF text and selected page sections

## Example prompts

- "Search for the latest SearXNG release notes and summarize them."
- "Read https://example.com/article and give me the key points."
- "Find recent sources on Node.js 22 features, page 2 of results."
- "Which search engines and categories does my SearXNG instance offer?"

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio searxng --env "SEARXNG_URL=<YOUR_SEARXNG_URL>" -- npx -y mcp-searxng
```

2. Start Claude Code and type `/mcp`. **searxng** should show as connected.

Add `--scope user` to make it available in every project. Replace the placeholders with your own values.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "<YOUR_SEARXNG_URL>"
      }
    }
  }
}
```

2. Save the file and restart Claude Desktop. Replace the placeholders with your own values.

Needs Node.js on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=searxng&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIm1jcC1zZWFyeG5nIl0sImVudiI6eyJTRUFSWE5HX1VSTCI6IjxZT1VSX1NFQVJYTkdfVVJMPiJ9fQ%3D%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "<YOUR_SEARXNG_URL>"
      }
    }
  }
}
```

Needs Node.js on your computer. Replace the placeholders with your own values.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=searxng&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22mcp-searxng%22%5D%2C%22env%22%3A%7B%22SEARXNG_URL%22%3A%22%3CYOUR_SEARXNG_URL%3E%22%7D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"searxng","type":"stdio","command":"npx","args":["-y","mcp-searxng"],"env":{"SEARXNG_URL":"<YOUR_SEARXNG_URL>"}}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "searxng": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "<YOUR_SEARXNG_URL>"
      }
    }
  }
}
```

Needs Node.js on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "<YOUR_SEARXNG_URL>"
      }
    }
  }
}
```

2. Refresh the MCP server list in Cascade. Replace the placeholders with your own values.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add searxng --env "SEARXNG_URL=<YOUR_SEARXNG_URL>" -- npx -y mcp-searxng
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.searxng]
command = "npx"
args = ["-y", "mcp-searxng"]
env = { SEARXNG_URL = "<YOUR_SEARXNG_URL>" }
```

Needs Node.js on your computer. Replace the placeholders with your own values.

### Gemini CLI

```bash
gemini mcp add -e "SEARXNG_URL=<YOUR_SEARXNG_URL>" searxng npx -- -y mcp-searxng
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "<YOUR_SEARXNG_URL>"
      }
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs Node.js on your computer. Replace the placeholders with your own values.

## Details

- Server version: 2.5.0
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/searxng (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
