Skip to main content
Glama
Knuckles-Team

SearXNG MCP Server

SearXNG - A2A | AG-UI | MCP

PyPI - Version MCP Server PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub

GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues

GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Version: 0.1.56

Übersicht

SearXNG MCP-Server + A2A-Server

Enthält einen Model Context Protocol (MCP)-Server und einen sofort einsatzbereiten Agent2Agent (A2A)-Agenten.

Führen Sie datenschutzfreundliche Websuchen mit SearXNG über einen MCP-Server durch!

Dieses Repository wird aktiv gepflegt - Beiträge sind willkommen!

Unterstützt:

  • Datenschutzfreundliche Metasuche

  • Anpassbare Suchparameter (Sprache, Zeitbereich, Kategorien, Suchmaschinen)

  • Safe-Search-Stufen

  • Paginierungskontrolle

  • Unterstützung für Basisauthentifizierung

  • Zufällige Instanzenauswahl

MCP

MCP-Tools

Funktionsname

Beschreibung

Tag(s)

web_search

Führt Websuchen mit SearXNG durch, einer datenschutzfreundlichen Metasuchmaschine. Gibt relevante Webinhalte mit anpassbaren Parametern zurück.

search

Verwendung als MCP-Server

Der MCP-Server kann in zwei Modi betrieben werden: stdio (für lokale Tests) oder http (für Netzwerkzugriff). Verwenden Sie die folgenden Befehle, um den Server zu starten:

Ausführung im stdio-Modus (Standard):

searxng-mcp --transport "stdio"

Ausführung im HTTP-Modus:

searxng-mcp --transport "http"  --host "0.0.0.0"  --port "8000"

KI-Prompt:

Search for information about artificial intelligence

KI-Antwort:

Search completed successfully. Found 10 results for "artificial intelligence":

1. **What is Artificial Intelligence?**
   URL: https://example.com/ai
   Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...

2. **AI Overview**
   URL: https://example.org/ai-overview
   Content: AI encompasses machine learning, deep learning, and more...

A2A-Agent

Dieses Paket enthält auch einen A2A-Agenten-Server, der zur Interaktion mit dem SearXNG MCP-Server verwendet werden kann.

Architektur:

---
config:
  layout: dagre
---
flowchart TB
 subgraph subGraph0["Agent Capabilities"]
        C["Agent"]
        B["A2A Server - Uvicorn/FastAPI"]
        D["MCP Tools"]
        F["Agent Skills"]
  end
    C --> D & F
    A["User Query"] --> B
    B --> C
    D --> E["Platform API"]

     C:::agent
     B:::server
     A:::server
    classDef server fill:#f9f,stroke:#333
    classDef agent fill:#bbf,stroke:#333,stroke-width:2px
    style B stroke:#000000,fill:#FFD600
    style D stroke:#000000,fill:#BBDEFB
    style F fill:#BBDEFB
    style A fill:#C8E6C9
    style subGraph0 fill:#FFF9C4

Diagramm der Komponenteninteraktion

sequenceDiagram
    participant User
    participant Server as A2A Server
    participant Agent as Agent
    participant Skill as Agent Skills
    participant MCP as MCP Tools

    User->>Server: Send Query
    Server->>Agent: Invoke Agent
    Agent->>Skill: Analyze Skills Available
    Skill->>Agent: Provide Guidance on Next Steps
    Agent->>MCP: Invoke Tool
    MCP-->>Agent: Tool Response Returned
    Agent-->>Agent: Return Results Summarized
    Agent-->>Server: Final Response
    Server-->>User: Output

Verwendung

MCP-CLI

Kurz-Flag

Lang-Flag

Beschreibung

-h

--help

Hilfeinformationen anzeigen

-t

--transport

Transportmethode: 'stdio', 'http' oder 'sse' [veraltet] (Standard: stdio)

-s

--host

Host-Adresse für HTTP-Transport (Standard: 0.0.0.0)

-p

--port

Portnummer für HTTP-Transport (Standard: 8000)

--auth-type

Authentifizierungstyp: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' (Standard: none)

--token-jwks-uri

JWKS-URI für JWT-Verifizierung

--token-issuer

Issuer für JWT-Verifizierung

--token-audience

Audience für JWT-Verifizierung

--oauth-upstream-auth-endpoint

Upstream-Autorisierungs-Endpunkt für OAuth-Proxy

--oauth-upstream-token-endpoint

Upstream-Token-Endpunkt für OAuth-Proxy

--oauth-upstream-client-id

Upstream-Client-ID für OAuth-Proxy

--oauth-upstream-client-secret

Upstream-Client-Secret für OAuth-Proxy

--oauth-base-url

Basis-URL für OAuth-Proxy

--oidc-config-url

OIDC-Konfigurations-URL

--oidc-client-id

OIDC-Client-ID

--oidc-client-secret

OIDC-Client-Secret

--oidc-base-url

Basis-URL für OIDC-Proxy

--remote-auth-servers

Kommagetrennte Liste von Autorisierungsservern für Remote-OAuth

--remote-base-url

Basis-URL für Remote-OAuth

--allowed-client-redirect-uris

Kommagetrennte Liste erlaubter Client-Redirect-URIs

--eunomia-type

Eunomia-Autorisierungstyp: 'none', 'embedded', 'remote' (Standard: none)

--eunomia-policy-file

Richtliniendatei für eingebettetes Eunomia (Standard: mcp_policies.json)

--eunomia-remote-url

URL für Remote-Eunomia-Server

A2A-CLI

Endpunkte

  • Web-UI: http://localhost:8000/ (falls aktiviert)

  • A2A: http://localhost:8000/a2a (Discovery: /a2a/.well-known/agent.json)

  • AG-UI: http://localhost:8000/ag-ui (POST)

Kurz-Flag

Lang-Flag

Beschreibung

-h

--help

Hilfeinformationen anzeigen

--host

Host, an den der Server gebunden werden soll (Standard: 0.0.0.0)

--port

Port, an den der Server gebunden werden soll (Standard: 9000)

--reload

Auto-Reload aktivieren

--provider

LLM-Anbieter: 'openai', 'anthropic', 'google', 'huggingface'

--model-id

LLM-Modell-ID (Standard: nvidia/nemotron-3-super)

--base-url

LLM-Basis-URL (für OpenAI-kompatible Anbieter)

--api-key

LLM-API-Schlüssel

--mcp-url

MCP-Server-URL (Standard: http://localhost:8000/mcp)

--web

Pydantic AI Web-UI aktivieren

False (Env: ENABLE_WEB_UI)

Verwendung als MCP-Server

Der MCP-Server kann in zwei Modi betrieben werden: stdio (für lokale Tests) oder http (für Netzwerkzugriff). Verwenden Sie die folgenden Befehle, um den Server zu starten:

Ausführung im stdio-Modus (Standard):

searxng-mcp --transport "stdio"

Ausführung im HTTP-Modus:

searxng-mcp --transport "http"  --host "0.0.0.0"  --port "8000"

KI-Prompt:

Search for information about artificial intelligence

KI-Antwort:

Search completed successfully. Found 10 results for "artificial intelligence":

1. **What is Artificial Intelligence?**
   URL: https://example.com/ai
   Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...

2. **AI Overview**
   URL: https://example.org/ai-overview
   Content: AI encompasses machine learning, deep learning, and more...

Agentische KI

searxng-mcp ist für die Verwendung durch agentische KI-Systeme konzipiert. Es bietet eine Reihe von Tools, die es Agenten ermöglichen, das Web mit SearXNG zu durchsuchen.

Agent-to-Agent (A2A)

Dieses Paket enthält auch einen A2A-Agenten-Server, der zur Interaktion mit dem SearXNG MCP-Server verwendet werden kann.

CLI

Argument

Beschreibung

Standard

--host

Host, an den der Server gebunden werden soll

0.0.0.0

--port

Port, an den der Server gebunden werden soll

9000

--reload

Auto-Reload aktivieren

False

--provider

LLM-Anbieter (openai, anthropic, google, huggingface)

openai

--model-id

LLM-Modell-ID

nvidia/nemotron-3-super

--base-url

LLM-Basis-URL (für OpenAI-kompatible Anbieter)

http://ollama.arpa/v1

--api-key

LLM-API-Schlüssel

ollama

--mcp-url

MCP-Server-URL

http://searxng-mcp:8000/mcp

--allowed-tools

Liste der erlaubten MCP-Tools

web_search

Beispiele

A2A-Server ausführen

searxng-agent --provider openai --model-id gpt-4 --api-key sk-... --mcp-url http://localhost:8000/mcp

Mit Docker ausführen

docker run -e CMD=searxng-agent -p 8000:8000 searxng-mcp

Docker

Build

docker build -t searxng-mcp .

MCP-Server ausführen

docker run -p 8000:8000 searxng-mcp

A2A-Server ausführen

docker run -e CMD=searxng-agent -p 8001:8001 searxng-mcp

MCP-Server als Dienst bereitstellen

Der ServiceNow MCP-Server kann mit Docker bereitgestellt werden, mit konfigurierbarer Authentifizierung, Middleware und Eunomia-Autorisierung.

Verwendung von Docker Run

docker pull knucklessg1/searxng-mcp:latest

docker run -d \
  --name searxng-mcp \
  -p 8004:8004 \
  -e HOST=0.0.0.0 \
  -e PORT=8004 \
  -e TRANSPORT=http \
  -e AUTH_TYPE=none \
  -e EUNOMIA_TYPE=none \
  -e SEARXNG_URL=https://searxng.example.com \
  -e SEARXNG_USERNAME=user \
  -e SEARXNG_PASSWORD=pass \
  -e USE_RANDOM_INSTANCE=false \
  knucklessg1/searxng-mcp:latest

Für erweiterte Authentifizierung (z. B. JWT, OAuth-Proxy, OIDC-Proxy, Remote-OAuth) oder Eunomia fügen Sie die entsprechenden Umgebungsvariablen hinzu:

docker run -d \
  --name searxng-mcp \
  -p 8004:8004 \
  -e HOST=0.0.0.0 \
  -e PORT=8004 \
  -e TRANSPORT=http \
  -e AUTH_TYPE=oidc-proxy \
  -e OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration \
  -e OIDC_CLIENT_ID=your-client-id \
  -e OIDC_CLIENT_SECRET=your-client-secret \
  -e OIDC_BASE_URL=https://your-server.com \
  -e ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/* \
  -e EUNOMIA_TYPE=embedded \
  -e EUNOMIA_POLICY_FILE=/app/mcp_policies.json \
  -e SEARXNG_URL=https://searxng.example.com \
  -e SEARXNG_USERNAME=user \
  -e SEARXNG_PASSWORD=pass \
  -e USE_RANDOM_INSTANCE=false \
  knucklessg1/searxng-mcp:latest

Verwendung von Docker Compose

Erstellen Sie eine docker-compose.yml-Datei:

services:
  searxng-mcp:
    image: knucklessg1/searxng-mcp:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=http
      - AUTH_TYPE=none
      - EUNOMIA_TYPE=none
      - SEARXNG_URL=https://searxng.example.com
      - SEARXNG_USERNAME=user
      - SEARXNG_PASSWORD=pass
      - USE_RANDOM_INSTANCE=false
    ports:
      - 8004:8004

Für erweiterte Setups mit Authentifizierung und Eunomia:

services:
  searxng-mcp:
    image: knucklessg1/searxng-mcp:latest
    environment:
      - HOST=0.0.0.0
      - PORT=8004
      - TRANSPORT=http
      - AUTH_TYPE=oidc-proxy
      - OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration
      - OIDC_CLIENT_ID=your-client-id
      - OIDC_CLIENT_SECRET=your-client-secret
      - OIDC_BASE_URL=https://your-server.com
      - ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/*
      - EUNOMIA_TYPE=embedded
      - EUNOMIA_POLICY_FILE=/app/mcp_policies.json
      - SEARXNG_URL=https://searxng.example.com
      - SEARXNG_USERNAME=user
      - SEARXNG_PASSWORD=pass
      - USE_RANDOM_INSTANCE=false
    ports:
      - 8004:8004
    volumes:
      - ./mcp_policies.json:/app/mcp_policies.json

Starten Sie den Dienst:

docker-compose up -d

mcp.json für KI-Integration konfigurieren

{
  "mcpServers": {
    "searxng": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "searxng-mcp",
        "searxng-mcp"
      ],
      "env": {
        "SEARXNG_URL": "https://searxng.example.com",
        "SEARXNG_USERNAME": "user",
        "SEARXNG_PASSWORD": "pass",
        "USE_RANDOM_INSTANCE": "false"
      },
      "timeout": 300000
    }
  }
}

Python-Paket installieren

python -m pip install searxng-mcp
uv pip install searxng-mcp

Repository-Eigentümer

GitHub followers GitHub User's stars

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Knuckles-Team/searxng-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server