Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

mcp-searxng-relay

Servidor MCP en español de España que proporciona búsqueda web y extracción de contenido a través de SearXNG, con autenticación Bearer, protección contra SSRF, trazabilidad por identidad y auditoría completa.

Ficha actualizada 23 sept 2026, 14:37 · upstream 23 sept 2026, 14:30 · release v2.1.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es mcp-searxng-relay

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Este proyecto ofrece un servidor MCP (Model Context Protocol) en español de España que permite a los agentes de IA acceder a una instancia propia de SearXNG para realizar búsquedas web y obtener contenido. Diferente de las APIs de búsqueda tradicionales, este servicio no depende de terceros ni de datos brokers externos; todas las consultas se ejecutan dentro del propio entorno controlado por el usuario. El proyecto prioriza un postura de seguridad defensiva y una trazabilidad completa: cada consulta y extracción está atribuida a una identidad específica con registros auditables.

La arquitectura incluye autenticación mediante tokens Bearer, soporte para OAuth 2.0/OIDC, protección contra SSRF mediante validación en tiempo real de direcciones no globalmente routables, y un sistema de caché compartido que reduce la latencia entre llamadas a SearXNG. Además, el servidor soporta extracción estructurada de documentos (PDFs, DOCX, XLSX, PPTX) con preservación de tablas y encabezados, además de extracción de imágenes en formato JPEG/PNG/GIF/WebP.

Se implementa un sistema de prompts fencing que envuelve cada respuesta del servidor en un elemento HTML firmado con un nonce aleatorio por requisição, lo que impide a cualquier modelo generar contenido falso que imite la respuesta del servidor. La firma se genera per-proceso y puede ser firmada por un operador mediante una clave estable.

El proyecto también incluye métricas de rendimiento por dominio, límites de sesiones, caché configurable con TTL, y soporte para builds reproducibles en Docker y Kubernetes.

CASOS DE USO
  • Implementar agentes de IA que requieran acceso a información web sin depender de APIs de terceros ni de datos brokers externos
  • Crear entornos seguros donde las consultas de búsqueda deben ser auditadas por identidad y no pueden salir del infraestructura controlada
  • Proveer herramientas para equipos que necesitan extracción estructurada de documentos (PDFs, hojas de cálculo) con preservación de tablas y encabezados
  • Implementar sistemas de recomendación o filtrado de contenido donde cada consulta debe estar asociada a una identidad verificable
  • Crear entornos de desarrollo seguro que permitan ejecutar agentes de IA sin exponer servicios internos (Redis, kubelet, etc.) al tráfico público
  • Proveer soluciones para organizaciones con restricciones estrictas sobre el uso de APIs de terceros o datos externos
PUNTOS DESTACADOS
  • Implementa un sistema de prompts fencing que utiliza firmas criptográficas per-response con nonce aleatorio, impidiendo que cualquier modelo genere contenido falso que imite la respuesta del servidor
  • Ofrece extracción estructurada de documentos (PDFs, DOCX, XLSX, PPTX) preservando tablas y encabezados mediante renderizado Markdown
  • Proporciona métricas detalladas por dominio con soporte para caché compartida entre llamadas a SearXNG
  • Implementa protección contra SSRF mediante validación en tiempo real de direcciones no globalmente routables con revalidación en cada hop del chain de redirecciones
PRECAUCIONES
  • La extracción de imágenes requiere un límite por tamaño (MAX_IMAGE_BYTES) que puede ser menor al límite general de cuerpo de respuesta, lo que limita la capacidad de procesar imágenes muy grandes
  • El sistema de caché es compartido entre llamadas a SearXNG; si múltiples agentes acceden simultáneamente, pueden colisionar en el mismo cache y no obtener resultados frescos
  • La protección contra SSRF bloquea todas las direcciones no globalmente routables sin una lista explícita permitida por `FETCH_ALLOWED_HOSTS` o `FETCH_ALLOWED_CIDRS`, lo que puede limitar la flexibilidad de configuración
  • El sistema de prompts fencing es per-proceso y requiere un operador para firmar las firmas, lo que introduce un punto único de fallo en entornos distribuidos
  • La extracción de texto de PDFs no garantiza consistencia entre diferentes versiones del documento (PDFs con múltiples páginas o cambios de formato)
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Para desplegar este proyecto, se recomienda usar Docker con la imagen oficial de SearXNG y ejecutar el servidor MCP como un contenedor separado. Se pueden configurar los límites de tokens por identidad mediante `MCP_RATE_LIMIT_TOKENS` y ajustar el RPS en `mcp_rate_limit_rejections_total`. Para entornos Kubernetes, se puede desplegar junto con el Helm chart de SearXNG (`searxng-helm`) o usar las manifestaciones mínimas incluidas. Se debe configurar un token Bearer válido para cada identidad del agente y activar la autenticación OAuth 2.0 si es necesario. Para reproducibilidad en CI/CD, se recomienda congelar `go.sum` y usar un `SOURCE_DATE_EPOCH` fijo al construir las imágenes Docker.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsGoRust
SERVICIOS
Redis
BASES DE DATOS
Redis
PUERTOS
808048060
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.