SearXNG MCP Server
Servidor MCP SearXNG
Una implementación de servidor MCP que se integra con SearXNG y proporciona capacidades de metabúsqueda centradas en la privacidad.
Características
Metabúsqueda : combina resultados de múltiples motores de búsqueda
Centrado en la privacidad : sin seguimiento ni elaboración de perfiles de usuario
Varias categorías : Admite contenido general, noticias, ciencia, archivos, imágenes, vídeos y más.
Compatibilidad con idiomas : búsqueda en idiomas específicos o en todos los idiomas
Filtrado de rango de tiempo : filtre los resultados por día, semana, mes o año
Búsqueda segura : tres niveles de filtrado de búsqueda segura
Soporte de respaldo : múltiples instancias de SearXNG para mayor confiabilidad
Related MCP server: SearXNG MCP Server
Instalación
npm install -g @kevinwatt/mcp-server-searxngUso
Ejecución directa
mcp-server-searxngCon Dive Desktop
Haga clic en "+ Agregar servidor MCP" en Dive Desktop
Copie y pegue esta configuración:
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"@kevinwatt/mcp-server-searxng"
]
}
}
}Haga clic en "Guardar" para instalar el servidor MCP
Documentación de herramientas
búsqueda web
Ejecutar metabúsquedas en múltiples motores
Entradas:
query(cadena): Términos de búsquedapage(número, opcional): Número de página (predeterminado: 1)language(cadena, opcional): código de idioma (por ejemplo, 'en', 'all', predeterminado: 'all')categories(matriz, opcional): categorías de búsqueda (predeterminado: ['general'])Disponible: "general", "noticias", "ciencia", "archivos", "imágenes", "vídeos", "música", "redes sociales", "eso"
time_range(cadena, opcional): filtro de tiempo (día/semana/mes/año)safesearch(número, opcional): Nivel de búsqueda segura (0: Ninguno, 1: Moderado, 2: Estricto, predeterminado: 1)
Desarrollo
git clone https://github.com/kevinwatt/mcp-server-searxng.git
cd mcp-server-searxng
npm install
npm run build
npm startLicencia
Este servidor MCP está licenciado bajo la licencia MIT. Consulte el archivo de licencia para obtener más información.
Prerrequisitos
Necesita una instancia local de SearXNG ejecutándose. Para configurarla:
Ejecutar SearXNG con Docker
Inicio rápido
# Create config directory
mkdir -p searxng
# Create config file
tee searxng/settings.yml << EOF
use_default_settings: true
server:
bind_address: "0.0.0.0"
secret_key: "CHANGE_THIS_TO_SOMETHING_SECURE" # Generate a random key
port: 8080
search:
safe_search: 0
formats:
- html
- json
engines:
- name: google
engine: google
shortcut: g
- name: duckduckgo
engine: duckduckgo
shortcut: d
- name: bing
engine: bing
shortcut: b
server.limiter: false
EOF
# Start container
docker run -d \
--name searxng \
-p 8080:8080 \
-v "$(pwd)/searxng:/etc/searxng" \
searxng/searxngFunción de búsqueda de prueba
# Test JSON API with curl
curl -v 'http://localhost:8080/search?q=test&format=json'
# Or visit in browser
http://localhost:8080/search?q=testGestión de contenedores
# Stop container
docker stop searxng
# Remove container
docker rm searxng
# View container logs
docker logs searxng
# Enable auto-start on boot
docker update --restart always searxngEl indicador --restart always garantiza que:
El contenedor se inicia automáticamente cuando se inicia el demonio Docker
El contenedor se reinicia automáticamente si se bloquea
El contenedor se reinicia automáticamente si se detiene a menos que el usuario lo detenga explícitamente
Configuración personalizada
Edite searxng/settings.yml a:
Modificar la lista de motores de búsqueda
Ajustar la configuración de seguridad
Configurar el idioma de la interfaz de usuario
Cambiar los límites de la API
Para conocer las opciones de configuración detalladas, consulte la documentación de SearXNG
Variables de entorno
SEARXNG_INSTANCES: Lista separada por comas de URL de instancias de SearXNG. Predeterminado:http://localhost:8080SEARXNG_USER_AGENT: encabezado de agente de usuario personalizado para solicitudes. Predeterminado:MCP-SearXNG/1.0NODE_TLS_REJECT_UNAUTHORIZED: Establezca en '0' para omitir la verificación del certificado SSL (para el desarrollo con certificados autofirmados) Valor predeterminado: indefinido (verificación SSL habilitada)
Ejemplo de configuración con todas las opciones:
{
"mcpServers": {
"searxng": {
"name": "searxng",
"command": "npx",
"args": [
"-y",
"@kevinwatt/mcp-server-searxng"
],
"env": {
"SEARXNG_INSTANCES": "http://localhost:8080,https://searx.example.com",
"SEARXNG_USER_AGENT": "CustomBot/1.0",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}⚠️ Advertencia: No se recomienda deshabilitar la verificación del certificado SSL en entornos de producción.
Available Tools
1 toolweb_searchA
Performs a web search using SearXNG, ideal for general queries, news, articles and online content. Supports multiple search categories, languages, time ranges and safe search filtering. Returns relevant results from multiple search engines combined.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| page | No | Page number (default 1) | |
| language | No | Search language code (e.g. 'en', 'zh', 'jp', 'all') | all |
| categories | No | ||
| time_range | No | all_time | |
| safesearch | No | 0: None, 1: Moderate, 2: Strict |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that results come from multiple search engines combined and that filtering options are supported, but it does not mention limitations, rate limits, result count, or whether the operation is read-only. This is adequate but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, supported controls, and output behavior. The most important information is front-loaded, with no filler or repeated schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with no output schema and no annotations, the description covers purpose and high-level behavior but not result format, pagination behavior, or edge cases like empty results. It is sufficient for basic invocation but leaves some context to be inferred.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the schema already documents query, page, language, and safesearch values. The description adds a high-level statement that categories, languages, time ranges, and safe search are supported, but it does not add details beyond the schema. The generic references are not enough to meaningfully augment the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Performs a web search using SearXNG', and enumerates concrete use cases such as general queries, news, articles, and online content. It also distinguishes itself from a plain search by noting results come from multiple search engines combined. With no sibling tools to contrast against, this is maximum clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is 'ideal for general queries, news, articles and online content', which provides clear usage context. It does not state explicit when-not-to-use conditions or alternatives, but that is reasonable since no sibling tools are listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
web_search
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as performing web searches using SearXNG, making it distinct by default.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'web_search' follows a clear verb_noun pattern and is appropriate for its function.
One tool is too few for a server named 'SearXNG MCP Server', which suggests a broader scope for search functionality. While the tool covers general web searches, the lack of additional tools (e.g., for image search, news-specific searches, or configuration) makes the set feel thin and underdeveloped for the domain.
The tool surface is severely incomplete for a search server. It only provides general web search, missing obvious extensions like image search, video search, news search, or advanced filtering tools that would be expected in a comprehensive search interface, leading to significant gaps in functionality.
Maintenance
Related MCP Connectors
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Web search with quality scores; web pages are read on your computer by the local server.
Google, Bing, DuckDuckGo and Google Maps search results, free without an API key.
Search privacy tools, guides, stacks and glossary, find app replacements, run privacy checks.
Related MCP Servers
- AlicenseAqualityDmaintenanceA privacy-focused search server built on SearXNG that provides unlimited, multi-source web searching across 100+ engines. It enables AI tools to perform advanced searches with specialized filters for time, language, and content categories without API costs or rate limits.213MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables web search capabilities by integrating with a SearXNG instance to aggregate results from over 130 engines. It allows users to perform filtered searches across categories like news, science, and social media while supporting advanced parameters for language and time range.11MIT
- AlicenseNot gradedqualityCmaintenanceA privacy-friendly web search MCP server using SearXNG, enabling searches across multiple engines and categories.1MIT
- AlicenseNot gradedqualityDmaintenancePrivacy-respecting, self-hosted metasearch MCP server that aggregates results from multiple search engines and fetches page content as Markdown.15 npm1MIT