searxng-mcp
searxng-mcp
Un servidor MCP para SearXNG que mantiene la salida visible para el modelo breve, preserva los payloads completos de los resultados en metadatos ocultos y admite tanto clientes stdio locales como el uso de streamable-http desplegado.
Qué obtienes
searchpara una búsqueda web concisa con payloads sin procesar completos en_metasearch_manypara fan-out en paralelo, deduplicación y clasificación combinadasearch_and_fetchpara búsqueda más extracción de fuentes en una sola llamadaresearchpara búsqueda de consultas múltiples con extracciones por lotes y fuentes combinadasfetch_urlpara extracción de páginas legibles con citasfetch_manypara extracción de URL en paralelo con almacenamiento en cachéhealthpara el estado del backend, la caché y el renderizado
El servidor está diseñado para ser ligero. SearXNG realiza el trabajo de búsqueda; searxng-mcp maneja el formato de herramientas, el almacenamiento en caché, la extracción y el transporte.
Related MCP server: SearXNG MCP Bridge
Inicio rápido
Instalar desde un checkout
uv sync
uv run searxng-mcpInstalar con uvx
searxng-mcp se distribuye desde este repositorio (sin lanzamiento en PyPI). El camino más corto es:
uvx --from git+https://github.com/88plug/searxng-mcp searxng-mcpLa extracción renderizada se incluye en la instalación predeterminada. Si el host ya tiene Chromium o Chrome, searxng-mcp lo utiliza. De lo contrario, la primera extracción renderizada arranca Playwright Chromium en la caché del usuario automáticamente.
Ejecutar con Docker
docker build -t searxng-mcp .
docker run --rm -p 8811:8811 --add-host=host.docker.internal:host-gateway \
-e SEARXNG_MCP_BASE_URL=http://host.docker.internal:8890 \
searxng-mcpEjemplo de Claude Desktop
{
"mcpServers": {
"searxng-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/88plug/searxng-mcp", "searxng-mcp"],
"env": {
"SEARXNG_MCP_BASE_URL": "http://127.0.0.1:8890",
"SEARXNG_MCP_TRANSPORT": "stdio"
}
}
}
}Modos de despliegue
stdio local
Úselo para clientes de escritorio y flujos de trabajo privados. Es el modo más simple y seguro.
SEARXNG_MCP_TRANSPORT=stdio uv run searxng-mcpHTTP transmitible
Úselo para un servicio privado, un despliegue de equipo o un endpoint interno con proxy inverso.
SEARXNG_MCP_TRANSPORT=streamable-http uv run searxng-mcp --host 0.0.0.0 --port 8811Docker y Compose reforzados
Para un servicio autohospedado de larga duración, utilice la variante de contenedor reforzada y la pila de Compose proporcionada.
docker build -f Dockerfile.prod -t searxng-mcp:prod .
cp docker-compose.env.example .env
docker compose up --build -dSeguridad y confianza
Este proyecto es seguro para uso local y en redes de confianza. No es un servicio de Internet público listo para usar.
fetch_urlyfetch_manypueden obtener URL arbitrarias proporcionadas por el clientela extracción renderizada puede iniciar Chromium contra páginas no confiables
streamable-httpdebe colocarse detrás de una autenticación o un proxy inverso para cualquier despliegue compartidoSEARXNG_MCP_FETCH_VERIFY_TLS=0es solo para configuraciones de backend privadas o autofirmadas
Si expone el transporte HTTP, trátelo como un servicio interno y añada los controles que esperaría para cualquier herramienta capaz de SSRF.
Por qué existe esto
salida compacta visible para el modelo, con detalles completos preservados en metadatos ocultos
flujos de trabajo de investigación más rápidos mediante búsqueda en paralelo y fan-out de extracción
extracción renderizada para páginas con mucho JS sin banderas de instalación adicionales
despliegue autohospedable para personas que desean su propio servidor MCP respaldado por SearXNG
Superficie MCP
searxng://configexpone la configuración actual, el modo de transporte y el soporte de renderizadosearxng://guideresume las herramientas disponibles y cuándo usarlasquick_lookup,deep_researchyresearch_workflowson prompts de compatibilidad opcionales para clientes que admiten superficies de prompt
Entorno
Variables clave:
SEARXNG_MCP_BASE_URL: URL base de SearXNG, predeterminadohttp://127.0.0.1:8890SEARXNG_MCP_FALLBACK_BASE_URLS: instancias de SearXNG de respaldo opcionales separadas por comasSEARXNG_MCP_TRANSPORT:stdio,streamable-httposseSEARXNG_MCP_SEARCH_TIMEOUT: tiempo de espera de búsqueda del backend en segundosSEARXNG_MCP_FETCH_TIMEOUT: tiempo de espera de extracción en segundosSEARXNG_MCP_SEARCH_CACHE_TTL: TTL de la caché de búsqueda en segundosSEARXNG_MCP_FETCH_CACHE_TTL: TTL de la caché de extracción en segundosSEARXNG_MCP_FETCH_VERIFY_TLS: establecer en0para omitir la verificación TLS en las extraccionesSEARXNG_MCP_RENDER_TIMEOUT: tiempo de espera de navegación del navegador para extracciones renderizadasSEARXNG_MCP_RENDER_WAIT_MS: espera adicional después de la carga del contenido DOM para extracciones renderizadasSEARXNG_MCP_RENDER_CONCURRENCY: límite de extracción renderizada concurrenteSEARXNG_MCP_RENDER_HEADLESS: establecer en0para mostrar el navegadorSEARXNG_MCP_RENDER_BROWSER_PATH: ruta explícita del binario de Chromium o ChromeSEARXNG_MCP_RENDER_SANDBOX: establecer en1para mantener habilitado el sandboxing de ChromiumSEARXNG_MCP_RENDER_BLOCK_RESOURCES: establecer en0para permitir imágenes, fuentes, hojas de estilo y medios durante el renderizadoSEARXNG_MCP_RENDER_AUTO_FALLBACK: establecer en0para deshabilitar el respaldo renderizado automáticoSEARXNG_MCP_RENDER_AUTO_MIN_WORDS: reduzca esto para hacer que el auto-renderizado sea más agresivoSEARXNG_MCP_RENDER_AUTO_MIN_CHARS: reduzca esto para hacer que el auto-renderizado sea más agresivoSEARXNG_MCP_CACHE_DIR: ruta del directorio de caché
Benchmarks
uv run searxng-mcp-bench --rounds 3Los informes de benchmark:
latencia del backend de SearXNG sin procesar
tamaño de salida de búsqueda visible para el token
latencia de búsqueda de consultas múltiples combinadas
latencia de investigación de consultas múltiples
latencia de extracción de búsqueda
latencia de extracción renderizada
latencia de extracción por lotes
latencia de extracción por lotes renderizada
Documentación
Construcción y prueba
uv sync --all-groups
uv run pytest -q
uv run python -m compileall src
uv run mkdocs build --strictMantenimiento de dependencias
Verificaciones manuales:
uv lock --upgrade --dry-run
uvx --from pip-audit pip-auditVerificaciones automatizadas:
PRs semanales de Dependabot para dependencias de
uvy GitHub Actionsflujo de trabajo semanal de
Dependency Healthpara escaneo de vulnerabilidades y simulacros de actualización
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server for connecting agentic systems to search systems via searXNG.1128MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that acts as a bridge to SearXNG instances, allowing AI models to perform web searches with privacy-focused search tools. It supports both STDIO and HTTP transports, featuring built-in rate limiting and session management.4627MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that integrates the SearXNG API to provide web search with pagination, filtering, and URL content extraction.28MIT
- FlicenseAqualityCmaintenanceMCP server that provides a search_web tool to query a self-hosted SearXNG instance and return structured web search results.1
Related MCP Connectors
Serper MCP — wraps the Serper Google Search API (serper.dev)
MCP server for Google search results via SERP API
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/88plug/searxng-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server