MCP server providing multi-source search, content fetching, and synthesis capabilities across web, GitHub, StackOverflow, npm, NuGet, PyPI, Docker Hub, academic sources, Reddit, YouTube, images, and news with local index support
SourceRudder has 28 tools with inconsistent quality. Most tools have descriptions (good), but many lack proper input schemas with type definitions and parameter descriptions. Naming is generally verb-based (search_*, fetch_*, etc.), but descriptions are often in Spanish and lack LLM-optimized clarity. Critical gaps: no documented output schemas, missing parameter type constraints, no error handling guidance, and no tool annotations (readOnlyHint/destructiveHint). Only 2 of 28 tools show explicit schema definitions in the provided code. The server relies on inferred tool definitions from test files rather than explicit registration with complete schemas.
Verificar el estado HTTP de un enlace. Devuelve {url, statusCode, reachable, error}.
Comparar y contrastar información de múltiples fuentes.
Realizar investigación profunda combinando múltiples fuentes y síntesis.
Extraer tablas, metadata y estructura de una URL como JSON en Content. Útil para páginas con datos tabulares. Ignora mode y timeoutMs.
Extraer el contenido principal de una URL según el modo (auto/article/documentation/raw). Ignora timeoutMs.
Obtener el HTML de una URL con extracción básica de title y metadata. Usa fetch_and_extract si necesitas el contenido principal. SSRF bloquea localhost/privados.
No documented output schemas for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Descriptions in Spanish reduce LLM comprehension. English descriptions are required for cross-language LLM compatibility. Current descriptions also lack WHEN/WHY context for tool selection.
Parameter descriptions missing or minimal for most tools. 'query' and 'maxResults' appear across 20+ tools with identical descriptions, but no guidance on expected format, range, or constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Obtener una entrada en caché por clave. Devuelve {cache_hit: bool, entry: CacheEntry | null}.
Obtener la fecha y hora actual del servidor.
Obtener el historial de búsquedas recientes. Devuelve {history: Entry[], limit: int, query?: string}.
Invalidar una entrada en caché por clave. Devuelve {key: string, invalidated: bool}.
Papers, preprints y referencias académicas. Backend: SearxNG (arxiv).
Official documentation for the bounded SourceRudder registry. Use filters.library to select a registered library and filters.version as a requested, unverified version. Successful validated results use strategy="official_doc_registry_search"; unknown, ambiguous, failed, or unvalidated searches use strategy="official_doc_web_fallback".
Imágenes Docker en Docker Hub.
Búsqueda en GitHub: repositorios, archivos y commits. Backend: GitHub API.
Issues en GitHub. Acepta filters.state=open|closed. Backend: GitHub API.
Pull requests en GitHub. Acepta filters.state=open|closed. Backend: GitHub API.
Image search through SearXNG. Candidates are validated and ranked by bounded whole-word lexical hints in title and content before applying maxResults; this does not infer semantic relevance, and partial upstream warnings remain visible.
Searches an operator-curated read-only corpus with deterministic lexical ranking and strategy="local_index_lexical". When LOCAL_INDEX_PATH is unset, returns strategy="local_index_unavailable" without web fallback.
Noticias y actualidad. Backend: SearxNG (categoría news). Hereda timeRange=week del planner cuando detecta intent "news".
Paquetes Node/TS en el registro npm.
Paquetes .NET en NuGet Gallery.
Paquetes Python en PyPI.
Discusiones y experiencias reales en Reddit. Backend: SearXNG local, con posts públicos indexados y filtro reddit.com. Devuelve strategy="searxng_reddit_index"; los fallos del proveedor se señalan como partial con warnings.
Q&A técnica en StackOverflow. Backend: StackOverflow API.
Búsqueda web amplia. Backend: SearxNG. Devuelve strategy="searxng".
Tutoriales y demos en YouTube. Backend: SearxNG (youtube,brave).
Sintetizar y resumir resultados de búsqueda en puntos clave.
Verificar accesibilidad y seguridad (no SSRF) de una URL. Devuelve {url, valid, statusCode, error}.
No error handling guidance. Tools return strategy codes (e.g., 'searxng', 'local_index_unavailable') but no documentation on what LLM should do on failure, retry logic, or fallback paths.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Only 'invalidate_cache' is marked WRITE; others lack explicit safety metadata. LLMs cannot reason about side effects.