SearXNG MCP Server
SearXNG - A2A | AG-UI | MCP
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) |
| Führt Websuchen mit SearXNG durch, einer datenschutzfreundlichen Metasuchmaschine. Gibt relevante Webinhalte mit anpassbaren Parametern zurück. |
|
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 intelligenceKI-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:#FFF9C4Diagramm 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: OutputVerwendung
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 intelligenceKI-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, an den der Server gebunden werden soll |
|
| Port, an den der Server gebunden werden soll |
|
| Auto-Reload aktivieren |
|
| LLM-Anbieter (openai, anthropic, google, huggingface) |
|
| LLM-Modell-ID |
|
| LLM-Basis-URL (für OpenAI-kompatible Anbieter) |
|
| LLM-API-Schlüssel |
|
| MCP-Server-URL |
|
| Liste der erlaubten MCP-Tools |
|
Beispiele
A2A-Server ausführen
searxng-agent --provider openai --model-id gpt-4 --api-key sk-... --mcp-url http://localhost:8000/mcpMit Docker ausführen
docker run -e CMD=searxng-agent -p 8000:8000 searxng-mcpDocker
Build
docker build -t searxng-mcp .MCP-Server ausführen
docker run -p 8000:8000 searxng-mcpA2A-Server ausführen
docker run -e CMD=searxng-agent -p 8001:8001 searxng-mcpMCP-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:latestFü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:latestVerwendung 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:8004Fü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.jsonStarten Sie den Dienst:
docker-compose up -dmcp.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-mcpuv pip install searxng-mcpRepository-Eigentümer
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
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