# searxNcrawl, ein SearXNG-MCP-Server mit Crawling

Von Das Digitale Momentum, veröffentlicht am 2026-11-03

searxNcrawl ist ein quelloffener MCP-Server, der Ihre SearXNG-Instanz zum Tool `search` für KI-Agenten macht und `crawl` und `crawl_site` für sauberes Markdown ergänzt. Diese Seite nennt die Tools und zeigt die Einrichtung für jeden MCP-Client.

## Was der SearXNG-MCP-Server kann

- `search`: fragt Ihre SearXNG-Instanz und, optional, You.com parallel ab und liefert eine zusammengeführte Liste ohne Dubletten, mit der Quelle jedes Ergebnisses. Filter für Sprache, Zeitraum, SafeSearch und Seiten; SearXNG-Kategorien und -Suchmaschinen. Mit `include_content=true` enthält jedes Ergebnis auch das Markdown seiner Seite.
- `crawl`: eine oder viele URLs zu Markdown oder JSON, ohne wiederholte Blöcke und auf Wunsch ohne Links.
- `crawl_site`: folgt Links ab einer Start-URL innerhalb von Tiefen-, Seiten- und Zeitlimits, abgestimmt auf Dokumentationen.

## Warum Suche und Crawling in einen Server gehören

[SearXNG](https://docs.searxng.org/) ist eine Metasuchmaschine: Es gibt eine Anfrage an viele Suchmaschinen weiter, führt deren Antworten zusammen und verfolgt niemanden. Für einen Agenten ist das ein guter Anfang, doch eine Ergebnisliste enthält nur Titel und Snippets von wenigen Dutzend Wörtern. Um eine Frage zu beantworten, braucht der Agent meist die Seite hinter dem Link, und eine Seite in HTML bringt Navigation, Cookie-Banner und Skripte mit, die Tokens kosten, ohne Fakten zu liefern.

searxNcrawl schließt diese Lücke. Derselbe Server, der sucht, rendert Seiten auch in Chromium über [Crawl4AI](https://github.com/unclecode/crawl4ai) und [Playwright](https://playwright.dev/) und liefert sauberes Markdown ohne wiederholte Blöcke. Ein typischer Ablauf ist ein `search` mit `include_content=true` oder ein `search` und danach `crawl` für die passendsten Ergebnisse; bei Dokumentationen liest `crawl_site` einen ganzen Bereich innerhalb der gesetzten Limits.

Crawling funktioniert auch ganz ohne Suchanbieter. Ein Agent, der die Adresse schon kennt, etwa einer Dokumentationsseite oder eines Issues, ruft `crawl` direkt auf.

## Was eine Suche liefert

Über MCP liefert `search` strukturierte Ergebnisse mit den Feldern `title`, `url`, `content`, `publishedDate` und `providers`, der Liste der Anbieter, die das Ergebnis gefunden haben. Mit `include_content=true` enthält jedes Ergebnis außerdem `markdown`, die gecrawlte Seite, oder `crawl_error`, wenn die Seite nicht lesbar war; die Ergebnisse kommen in jedem Fall. Die CLI gibt dieselben Ergebnisse als Markdown aus, der schnellste Weg, eine SearXNG-Instanz zu prüfen:

```
SEARXNG_URL=http://localhost:8888 uvx --from searxncrawl search "model context protocol" --max-results 5
```

```
# Search: model context protocol
_Found 3 results_

## 1. <title of the first result>
<address of the first result>
**Sources:** searxng

<snippet of the first result>
```

Die Standardfelder halten jedes Ergebnis klein und damit den Kontext des Agenten kurz. `SEARCH_RESULT_FIELDS` wählt andere Felder, wenn ein Ablauf sie braucht, zum Beispiel nur `url` und `title` für einen schnellen Überblick.

## Suchanbieter: SearXNG und You.com

SearXNG ist der Standardanbieter und braucht keinen Key. Mit Ihrem eigenen You.com-API-Key in `YDC_API_KEY` fragt searxNcrawl beide Anbieter parallel ab und führt sie zu einer Liste zusammen: Doppelte Adressen werden zurückhaltend vereint, die Ergebnisse wechseln sich zwischen den Anbietern ab, und Ergebnisse, die beide gefunden haben, stehen vorn. Jedes Ergebnis nennt seine Anbieter, und fällt einer aus, antwortet der andere weiter. Anfragen an You.com werden in den USA verarbeitet und liefern nur für die ersten 10 Seiten Ergebnisse; der Parameter `providers` wählt für einen einzelnen Aufruf einen Anbieter ([Changelog](https://github.com/DasDigitaleMomentum/searxNcrawl/blob/main/CHANGELOG.md)).

Ergebnisse, die nur You.com gefunden hat, tragen youcom in `providers`; so erkennt ein Agent, woher eine Angabe stammt, und kann sie entsprechend gewichten.

## Bevor Sie anfangen

- Eine SearXNG-Instanz mit aktivierter JSON-Ausgabe. Die [Anleitung zur SearXNG-JSON-API](https://www.searxncrawl.io/de/searxng-json-api/) erledigt das in drei Schritten.
- [uv](https://docs.astral.sh/uv/), das searxNcrawl mit `uvx` ohne eigene Installation startet.
- Platz für Chromium: Der erste Crawl lädt das Chromium von Playwright herunter, etwa 550 MB.

uv lädt das Paket beim ersten Start herunter und speichert es zwischen, spätere Starts gehen also schnell. Damit ein ganzes Team dieselbe Version nutzt, starten Sie es in der MCP-Konfiguration als `uvx searxncrawl@0.33.1`.

## Alle Agenten in einem Schritt einrichten

Der Setup-Befehl findet Claude Code, Codex, Gemini CLI, Cursor, VS Code und Claude Desktop, fragt nach Ihrer SearXNG-URL und einem optionalen You.com-API-Key, zeigt jede Änderung und sichert jede Datei, bevor er schreibt. `uvx searxncrawl setup --remove` macht es rückgängig.

```
uvx searxncrawl setup
```

Der Befehl bearbeitet die Konfigurationsdateien der gefundenen Clients und trägt dort Ihre SearXNG-Adresse ein. Führen Sie ihn nach einem Update oder für eine neue Adresse oder einen neuen Key erneut aus: Er aktualisiert seine eigenen Einträge, statt Duplikate anzulegen.

## Claude Code

```
claude mcp add searxncrawl --env SEARXNG_URL=http://localhost:8888 -- uvx searxncrawl
```

Das trägt searxNcrawl als MCP-Server mit dem Namen searxncrawl ein und übergibt die SearXNG-Adresse als Umgebungsvariable. Fügen Sie `--env YDC_API_KEY=...` genauso hinzu, um You.com als zweiten Anbieter einzuschalten.

## Codex

```
codex mcp add searxncrawl --env SEARXNG_URL=http://localhost:8888 -- uvx searxncrawl
```

Wie Claude Code übergibt Codex die SearXNG-Adresse als Umgebungsvariable an den Server, den es startet; ergänzen Sie `--env YDC_API_KEY=...`, um auch You.com als zweiten Anbieter einzuschalten.

## VS Code

```
code --add-mcp '{"name":"searxncrawl","command":"uvx","args":["searxncrawl"],"env":{"SEARXNG_URL":"http://localhost:8888"}}'
```

## Cursor, Claude Desktop und andere Clients

Clients, die eine `mcpServers`-Datei lesen, nehmen diesen Block; ersetzen Sie die Adresse durch die Ihrer SearXNG-Instanz.

```
{
  "mcpServers": {
    "crawler": {
      "command": "uvx",
      "args": ["searxncrawl"],
      "env": { "SEARXNG_URL": "http://your-searxng:8888" }
    }
  }
}
```

Claude Desktop kann searxNcrawl auch aus dem Bundle `searxncrawl-.mcpb` auf der Release-Seite bei GitHub installieren; das Bundle fragt die SearXNG-Adresse, optionale Basic Auth und zusätzliche Header in einem Formular ab.

## LM Studio

LM Studio bindet MCP-Server seit Version 0.3.17 an und folgt laut seiner [MCP-Dokumentation](https://lmstudio.ai/docs/app/mcp) der `mcp.json`-Notation von Cursor; der Block `mcpServers` oben funktioniert also unverändert. Öffnen Sie in der rechten Seitenleiste den Reiter Program, wählen Sie Install und dann Edit mcp.json, und fügen Sie den Block ein. LM Studio startet `uvx` selbst, uv muss also auf demselben Rechner installiert sein.

## OpenCode

OpenCode liest MCP-Server aus dem Schlüssel `mcp` seiner `opencode.json`. Ein lokaler Server hat den Typ local, seinen Befehl als Array und seine Variablen unter `environment` ([MCP-Dokumentation von OpenCode](https://opencode.ai/docs/mcp-servers/)):

```
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "searxncrawl": {
      "type": "local",
      "command": ["uvx", "searxncrawl"],
      "environment": { "SEARXNG_URL": "http://your-searxng:8888" },
      "enabled": true
    }
  }
}
```

## OpenClaw

```
openclaw mcp add searxncrawl --command uvx --arg searxncrawl --env SEARXNG_URL=http://your-searxng:8888
```

OpenClaw führt MCP-Server in einer eigenen Registry und gibt sie an die Agentenläufe weiter, die es verwaltet; `openclaw mcp add` speichert den Befehl, sein Argument und die Variable ([MCP-Dokumentation von OpenClaw](https://docs.openclaw.ai/cli/mcp/registry)). OpenClaw hat außerdem einen SearXNG-Anbieter für sein eigenes Tool `web_search` ([SearXNG-Suche in OpenClaw](https://docs.openclaw.ai/tools/searxng-search)). Dieser Anbieter sucht nur; searxNcrawl ergänzt `crawl` und `crawl_site` für die Seiten hinter den Ergebnissen.

## Seiten hinter einem Login crawlen

Manche Dokumentationen und Dashboards sind erst nach einem Login sichtbar. Zeichnen Sie die Sitzung einmal mit `crawl-capture` auf, aus einem Login-Fenster oder aus einem bereits angemeldeten Browser; es speichert eine Storage-State-Datei von Playwright. Übergeben Sie diese Datei als `storage_state` an `crawl` oder `crawl_site`, dann sieht der Crawler die Seiten wie Sie. Behandeln Sie die Datei wie ein Passwort, denn sie enthält die Cookies Ihrer Sitzung.

## Entfernte Clients über HTTP

Entfernte und browserbasierte Clients verbinden sich über HTTP; der Server lauscht auf Port 8000 und stellt den MCP-Endpunkt unter `/mcp` bereit. Für gemeinsamen Zugriff setzen Sie einen TLS-Proxy mit Anmeldung davor und schalten mit `FASTMCP_HTTP_HOST_ORIGIN_PROTECTION=true` die Prüfung von Host und Origin ein.

```
SEARXNG_URL=http://localhost:8888 uvx searxncrawl --transport http
```

Wählen Sie STDIO, wenn der Agent auf demselben Rechner läuft: Der Client startet searxNcrawl als Kindprozess, und nichts lauscht im Netz. Wählen Sie HTTP, wenn sich mehrere Clients einen Server teilen oder der Client anderswo läuft, und halten Sie `SEARXNG_URL` und alle Keys auf diesem Server. Allowlists für Host und Origin allein schalten die Prüfung weder ein noch authentifizieren sie Aufrufer; der Proxy davor bleibt also nötig.

## Open WebUI

Open WebUI unterstützt MCP seit v0.6.31 nativ, und zwar nur über Streamable HTTP ([MCP-Dokumentation von Open WebUI](https://docs.openwebui.com/features/extensibility/mcp)). Starten Sie searxNcrawl wie oben mit `--transport http`, öffnen Sie Settings, Admin, Integrations und legen Sie unter External Tool Servers eine Verbindung an:

- Type: MCP (Streamable HTTP), nicht OpenAPI
- URL: `http://localhost:8000/mcp` oder `http://host.docker.internal:8000/mcp`, wenn Open WebUI in Docker läuft
- Auth: None auf dem eigenen Rechner; ein Token, wenn ein Proxy vor searxNcrawl eines verlangt

Für Server, die nur STDIO sprechen, verweist Open WebUI auf seinen Proxy [mcpo](https://github.com/open-webui/mcpo). searxNcrawl spricht selbst HTTP und braucht für Open WebUI keinen Proxy.

## Fehlersuche

- SearXNG antwortet mit 403: Die JSON-Ausgabe ist aus. Die [Anleitung zur SearXNG-JSON-API](https://www.searxncrawl.io/de/searxng-json-api/) schaltet sie ein.
- Kein Suchanbieter konfiguriert: Seit 0.32 gibt es keine Standardadresse mehr; setzen Sie `SEARXNG_URL`, `YDC_API_KEY` oder beides. `setup` warnt, wenn keins gesetzt ist.
- 429 von einem Anbieter: searxNcrawl wiederholt einmal, wenn `Retry-After` höchstens 5 Sekunden verlangt; sonst sagt der Fehler, wann ein neuer Versuch lohnt.
- You.com antwortet mit 401 oder 403: 401 heißt fehlender oder falscher Key, 403 ein Key ohne Zugriff auf die Such-API.
- Ergebnisse einzelner SearXNG-Suchmaschinen fehlen: Die Suchmaschine hat Ihre Instanz begrenzt oder geprüft; die übrigen antworten weiter.
- Der erste Crawl dauert lange: Chromium wird einmal heruntergeladen, etwa 550 MB. Wo Browser separat bereitgestellt werden, setzen Sie `PLAYWRIGHT_AUTO_INSTALL=false`.

## Konfiguration

- SEARXNG_URL: Adresse Ihrer SearXNG-Instanz, zum Beispiel `http://localhost:8888`
- SEARXNG_USERNAME, SEARXNG_PASSWORD: Basic Auth für SearXNG, beide oder keiner
- SEARXNG_EXTRA_HEADERS: Zusätzliche Header für SearXNG-Anfragen; Werte lassen sich aus Dateien lesen
- YDC_API_KEY: Ihr You.com-API-Key, um You.com als zweiten Anbieter zu ergänzen (optional)
- PLAYWRIGHT_AUTO_INSTALL: false überspringt den automatischen Download von Chromium

Diese Optionen beschreiben searxNcrawl 0.33.1; die [Dokumentation des MCP-Servers auf GitHub](https://github.com/DasDigitaleMomentum/searxNcrawl#readme) nennt jeden Parameter.

Halten Sie Geheimnisse aus geteilten Konfigurationsdateien heraus. `SEARXNG_EXTRA_HEADERS` nimmt Verweise wie `@~/.config/searxncrawl/cf_secret` an, die searxNcrawl beim Start aus der Datei liest. Ungültige Header schalten SearXNG ab, ohne ihre Werte auszugeben, und You.com bleibt verfügbar.

## So haben wir diese Seite getestet

Wir haben die CLI-Suche oben am 2026-11-04 mit searxNcrawl 0.33.1 gegen SearXNG 2026.9.15 in Docker ausgeführt, eingerichtet wie in der [Anleitung zur JSON-API](https://www.searxncrawl.io/de/searxng-json-api/). searxNcrawl fragte SearXNG mit `format=json` samt Sprache, SafeSearch und Seite ab und gab drei Ergebnisse mit der Quelle searxng aus. Die Konfigurationen für LM Studio, OpenCode, OpenClaw und Open WebUI folgen der in ihren Abschnitten verlinkten Dokumentation, wie wir sie am 2026-11-04 gelesen haben; diese vier Clients haben wir nicht ausgeführt.

Wir haben diese Angaben am 2026-11-04 anhand der verlinkten Quellen geprüft. Unsere [Redaktions- und Korrekturrichtlinie](https://www.searxncrawl.io/de/ueber-uns/#editorial) beschreibt, wie wir sie aktuell halten und Fehler korrigieren.

## Häufige Fragen

### Was ist ein SearXNG-MCP-Server?

Ein MCP-Server, über den KI-Agenten eine SearXNG-Metasuchmaschine per Tool-Aufruf abfragen. searxNcrawl ist einer; er crawlt außerdem die gefundenen Seiten und ganze Websites zu Markdown.

### Braucht ein SearXNG-MCP-Server einen API-Key?

Mit searxNcrawl nicht: Die Suche über Ihre eigene SearXNG-Instanz braucht keinen API-Key und kostet keine Nutzungsgebühren. Nur der optionale Anbieter You.com braucht Ihren eigenen You.com-API-Key.

### Kann der SearXNG-MCP-Server die gefundenen Seiten lesen?

Ja. `search` mit `include_content=true` ergänzt die Ergebnisse um das Markdown jeder Ergebnisseite, und `crawl` liest jede URL auch einzeln.

### Kann ich eine SearXNG-Instanz hinter einer Anmeldung oder einem Proxy nutzen?

Ja. Setzen Sie `SEARXNG_USERNAME` und `SEARXNG_PASSWORD` für Basic Auth oder `SEARXNG_EXTRA_HEADERS` für andere Header; die Werte lassen sich aus Dateien lesen, sodass Geheimnisse nicht in der MCP-Konfiguration stehen.

Aktualisiert: 2026-11-04

---

Quelle: <https://www.searxncrawl.io/de/searxng-mcp-server/>
