Skip to main content
Glama

Sibyl

Agente de investigación profunda impulsado por IA. Haz cualquier pregunta: Sibyl busca en la web a través de múltiples fuentes, lee docenas de páginas, contrasta los hallazgos y genera un informe de investigación con calidad ejecutiva que incluye análisis, predicciones y citas.

No es solo otro resumidor de búsquedas. Sibyl es una plataforma de análisis de investigación: realiza comparaciones estructuradas, análisis DAFO, seguimiento de Google Trends, cronologías de eventos y visualización de datos financieros. Todo a partir de una sola pregunta.

Qué hace diferente a Sibyl

Búsqueda tradicional

ChatGPT/Perplexity

GPT Researcher

Sibyl

Búsqueda web + resumen

Sí

Sí

Sí

Sí

Multifuente (noticias, Reddit, Wikipedia)

No

Parcial

Parcial

Sí (4 motores)

Descomposición de subpreguntas

No

No

Sí

Sí

Relleno de brechas iterativo (buscar → analizar → identificar brechas → buscar de nuevo)

No

No

Parcial

Sí

Análisis multifuente (sentimiento, consenso, desacuerdos)

No

No

No

Sí

Tablas de comparación estructuradas

No

No

No

Sí

Análisis DAFO

No

No

No

Sí

Datos de Google Trends

No

No

No

Sí

Cronologías de eventos

No

No

No

Sí

Datos financieros + gráficos

No

No

No

Sí

Servidor MCP (Claude Code, Cursor)

No

No

No

Sí

Multi-LLM (DeepSeek, Gemini, GLM, OpenAI)

No

No

Limitado

Sí (detección automática)

Informes PDF con gráficos incrustados

No

No

Básico

Sí

Related MCP server: Finance MCP

Inicio rápido

Servidor MCP (para Claude Code / Cursor)

pip install sibyl-research
claude mcp add sibyl -e DEEPSEEK_API_KEY=sk-... -- sibyl-mcp

Luego en Claude Code:

"Investiga el impacto de la IA en los empleos de ingeniería de software durante los próximos 5 años"

"Compara NVIDIA vs AMD vs Intel para cargas de trabajo de IA"

"Análisis DAFO de Tesla en 2026"

CLI

pip install sibyl-research
export DEEPSEEK_API_KEY=sk-...   # or OPENAI_API_KEY, GEMINI_API_KEY, etc.

# Standard research
sibyl "Canadian housing market outlook 2026"

# Deep research with predictions + market data + PDF
sibyl "Will NVIDIA maintain AI chip dominance?" -d 3 --symbols NVDA,AMD,INTC --pdf

# Chinese output
sibyl "加拿大移民政策变化" -l zh --pdf -o reports/

Cómo funciona

You ask a question
  │
  ├─ Step 1: Decompose into 3-5 focused sub-questions
  ├─ Step 2: Generate 15-20 diverse search queries
  ├─ Step 3: Search across 4 engines (DuckDuckGo, Google News, Reddit, Wikipedia)
  ├─ Step 4: Scrape 15-20 sources (realistic browser headers, retry, Google Cache fallback)
  ├─ Step 5: Filter sources by relevance (LLM-scored)
  ├─ Step 6: Analyze each sub-question independently
  ├─ Step 7: Identify knowledge gaps → auto-search for missing info
  ├─ Step 8: Cross-reference sources (sentiment, consensus, disagreements)
  ├─ Step 9: Section-by-section synthesis (Summary, Findings, Analysis, Predictions)
  ├─ Step 10: Review and refine draft
  └─ Output: PDF/Markdown report with Table of Contents, citations, charts

Herramientas de investigación (11 herramientas MCP)

Investigación central

Herramienta

Qué hace

research(query, depth, language)

Ciclo completo de investigación: buscar → extraer → analizar → informar. Profundidad 1-3.

quick_search(query)

Búsqueda web rápida, devuelve resultados sin procesar

read_url(url)

Extrae texto limpio de cualquier URL

analyze(text, question)

Analiza el texto proporcionado con LLM

Herramientas de análisis (exclusivas de Sibyl)

Herramienta

Qué hace

compare(items)

Tabla de comparación estructurada lado a lado con métricas y recomendaciones

swot(subject)

Fortalezas / Debilidades / Oportunidades / Amenazas con evidencia

trends(keywords)

Datos reales de Google Trends: nivel de interés, dirección, búsquedas en aumento

timeline(topic)

Tabla cronológica de eventos con fechas y evaluación de impacto

Datos financieros

Herramienta

Qué hace

fetch_market_data(symbols)

Precios reales de acciones/ETF, tendencias, medias móviles, rango de 52 semanas

chart(symbols)

Genera gráficos de tendencia de precios (PNG)

Salida

Herramienta

Qué hace

save_report(format)

Guardar como PDF (con gráficos incrustados) y/o Markdown

Profundidad de investigación

Profundidad

Qué sucede

Llamadas LLM

Tiempo

1 (rápida)

2-3 consultas de búsqueda, síntesis básica

~3

20-30s

2 (estándar)

Descomposición de subpreguntas, análisis por pregunta, referencias cruzadas, revisión

~10

60-90s

3 (profunda)

+ Relleno de brechas de conocimiento, predicciones con caso alcista/bajista/base, calificación de confianza

~13

90-120s

Soporte multiproveedor

Sibyl funciona con cualquier LLM. Detecta automáticamente desde variables de entorno:

Proveedor

Variable de entorno

Modelo

DeepSeek

DEEPSEEK_API_KEY

deepseek/deepseek-chat

OpenAI

OPENAI_API_KEY

gpt-4o-mini

Anthropic

ANTHROPIC_API_KEY

claude-sonnet-4-20250514

Gemini

GEMINI_API_KEY

gemini/gemini-2.5-flash

GLM (ZhipuAI)

ZHIPUAI_API_KEY

glm-4-flash

O configura múltiples proveedores con roles:

# sibyl.yaml
providers:
  - model: deepseek/deepseek-chat
    api_key: sk-xxx
    role: analysis

  - model: gemini/gemini-2.5-flash
    api_key: xxx
    role: fast

  - model: openai/glm-4-flash
    api_key: xxx
    api_base: https://open.bigmodel.cn/api/paas/v4
    role: chinese

Informes de ejemplo

Informes generados por Sibyl sobre temas reales:

  • Perspectivas de las tasas de interés de la Reserva Federal 2026-2027 — 5 páginas, 12 hallazgos, 6 fuentes, análisis del debate "tasas altas por más tiempo" vs "flexibilización constante"

  • Impacto de los aranceles de Trump en el comercio 2026 — 5 páginas, 10 hallazgos, 4 fuentes, comparación histórica con Smoot-Hawley, efectos de segundo orden en el desplazamiento laboral por IA

  • Panorama de la industria de la IA 2026 — Tamaño del mercado ($538 mil millones), tendencias de inversión ($2.9 billones en infraestructura), perspectivas regulatorias, con gráficos de acciones de NVDA/GOOGL/META

Requisitos

  • Python 3.10+

  • Al menos una clave de API de LLM

  • No se necesitan otras claves de API (todos los motores de búsqueda son gratuitos)

Licencia

MIT

Available Tools

4 tools
gather_bundleA

Return a structured, keyless SourceBundle without synthesizing an answer.

This is the programmatic form of gather_sources, intended for agents and pipelines that need stable evidence identifiers and retrieval provenance. Passage/source relevance defaults to the dependency-free lexical_v1 ranker. FlashRank is optional and falls back to lexical_v1 with an explicit diagnostic. Source quality remains null until a separate quality evaluator computes it. Follow diagnostics.recommended_action; only "synthesize" permits synthesis.

Args: query: One focused search query max_sources: How many sources to return (default 10; bounded to 1-20) chars_per_source: Max characters per evidence passage (default 7000; bounded to 500-10000) ranker: lexical (default), flashrank (optional extra), or none (retrieval order) render_thin_pages: Send thin-page URLs to Jina Reader (default false)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
rankerNolexical
max_sourcesNo
chars_per_sourceNo
render_thin_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
queryYes
statusYes
sourcesYes
bundle_idYes
diagnosticsYes
schema_versionYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It thoroughly discloses behaviors: no answer synthesis, default ranker, fallback to lexical_v1, source quality remaining null, and diagnostic action. It also explains parameter bounds and defaults. This provides complete behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a single-line summary, a compact behavior paragraph, and a bulleted Args list. Every sentence adds value without redundancy. The structure is front-loaded with the core action, then details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, output schema), the description covers essential context like return type (SourceBundle), lack of synthesis, and diagnostic guidance. It does not explain what a 'keyless SourceBundle' is or how diagnostics work, which could be clarified, but overall it provides sufficient context for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates fully. Each of the 5 parameters is described with purpose, default values, and bounds (e.g., 'max_sources' bounded to 1-20, 'ranker' options explained). This adds significant meaning beyond the schema's titles and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a 'structured, keyless SourceBundle without synthesizing an answer,' with specific verb and resource. It distinguishes itself from 'gather_sources' by being 'programmatic' and 'keyless,' and from siblings like 'quick_search' by emphasizing structured evidence identifiers and provenance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the tool is 'intended for agents and pipelines that need stable evidence identifiers and retrieval provenance,' and instructs to follow 'diagnostics.recommended_action' and that only 'synthesize' permits synthesis. However, it does not explicitly compare when to use this versus sibling tools like 'gather_sources' or 'quick_search,' leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gather_sourcesA

Keyless web retrieval: search + scrape + dedup, returning the top FULL-TEXT sources for a query WITHOUT writing an answer — so YOU (the calling model) read the evidence and reason over it yourself.

Use this to research a question: call it several times with different focused sub-queries, read the numbered [Source N] blocks it returns, cross-reference them, then write the answer yourself with citations. If the sources don't contain the answer, gather more or say you don't know — do not guess. No API key required.

Args: query: One focused search query (issue several calls for a multi-part question) max_sources: How many sources to return (default 10; bounded to 1-20) chars_per_source: Max characters of text per source (default 7000; bounded to 500-10000) ranker: lexical (default), flashrank (optional extra), or none (retrieval order) render_thin_pages: Send thin-page URLs to Jina Reader (default false)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
rankerNolexical
max_sourcesNo
chars_per_sourceNo
render_thin_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears the full burden of behavioral disclosure. It states the tool is keyless, performs search/scrape/dedup, returns full-text sources without writing an answer, and provides numbered blocks. It does not explicitly state it is read-only or non-destructive, but the 'retrieval' nature implies safety. Some details like error handling or rate limits are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a bold lead sentence, usage instructions, and a clear parameter list. It is slightly verbose but each sentence provides value. The front-loading of the key concept ('keyless web retrieval') is effective. The length is appropriate for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters and an output schema (not shown), the description covers the main purpose, parameters, and usage workflow. It lacks details on error handling, empty results, or performance characteristics. However, the output schema likely covers return value format, so the description is moderately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description compensates fully. It explains each parameter: query (one focused query, issue multiple for multi-part), max_sources (default 10, bounded 1-20), chars_per_source (default 7000, bounded 500-10000), ranker (lexical default, flashrank optional, or none), and render_thin_pages (sends thin-page URLs to Jina Reader). These details add significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'keyless web retrieval: search + scrape + dedup, returning the top FULL-TEXT sources for a query WITHOUT writing an answer.' It explains the workflow for research. However, it does not explicitly differentiate from sibling tools like quick_search, gather_bundle, or read_url, missing an opportunity to clarify when to use this tool over others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Use this to research a question: call it several times with different focused sub-queries, read the numbered [Source N] blocks, cross-reference them, then write the answer yourself.' It also advises what to do if sources lack an answer. However, it does not contrast with alternative tools or specify when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_urlA

Read and extract clean text content from a URL.

Fetches the page, strips navigation/scripts/ads, and returns the main article or body text. Useful for reading a specific source in detail before or after running research().

Returns the page title, URL, and up to 8000 characters of clean text. Handles retries, anti-bot protection, and Google Cache fallback.

Args: url: The full URL to read (e.g. "https://www.reuters.com/article/...")

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries behavioral disclosure. It explains that it fetches the page, strips navigation/scripts/ads, returns up to 8000 characters, handles retries, anti-bot protection, and Google Cache fallback. This is comprehensive for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (5 sentences) with front-loaded purpose. Each sentence serves a purpose: action, use case, output specifics, handling mechanisms, and parameter details. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one parameter and an output schema. The description explains the output (title, URL, clean text length) and error handling (retries, cache fallback). It is mostly complete, though it could mention error responses for unreachable pages.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% coverage for 'url', but the description adds an example and the requirement for a full URL (e.g., including protocol). This provides needed context beyond the schema's type definition, though more details on validation could improve.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads a URL and extracts clean text. It specifies the verb 'Read and extract' and resource 'clean text content from a URL'. It also mentions it's useful before or after research(), distinguishing it from sibling tools like gather_sources which likely handle multiple sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Useful for reading a specific source in detail before or after running research()', providing clear context when to use. It does not explicitly state when not to use, but the context sufficiently guides an agent.

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. 11 tool updatesv0.3.0
    • Removedanalyze
    • Removedchart
    • Removedcompare
    • Removedfetch_market_data
    • Addedgather_bundle
    • Addedgather_sources
    • Removedresearch
    • Removedsave_report
    • Removedswot
    • Removedtimeline
    • Removedtrends
  2. 11 tool updatesv0.1.0
    • First observedanalyze
    • First observedchart
    • First observedcompare
    • First observedfetch_market_data
    • First observedquick_search
    • First observedread_url
    • First observedresearch
    • First observedsave_report
    • First observedswot
    • First observedtimeline
    • First observedtrends

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation2/5

gather_sources and gather_bundle are nearly identical in purpose and parameters, with only subtle differences in output structure. This creates significant ambiguity for an agent trying to select the appropriate tool. quick_search and read_url are more distinct but the overlap between the gather tools is problematic.

Naming Consistency3/5

The names mix patterns: 'gather_' prefix for two tools, 'quick_' for one, and 'read_' for another. While each name is somewhat descriptive, the lack of a consistent verb_noun pattern across the set reduces predictability.

Tool Count4/5

With 4 tools, the set is small but still covers the core needs of web research (search, deep retrieval, quick results, and URL reading). It could be streamlined to 3 by merging the gather tools, but the count is not excessive.

Completeness4/5

The server covers the essential operations for web research: searching, retrieving full-text sources, quick scanning, and reading specific URLs. Minor gaps like missing history or caching are acceptable for the scope.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables iterative deep research by integrating AI agents with search engines, web scraping, and large language models for efficient data gathering and comprehensive reporting.
    11 npm
    324
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables financial research and analysis through AI agents that combine web search, content crawling, entity extraction, and deep research workflows. Supports extracting stock/fund entities with security codes and conducting structured financial investigations.
    9
    26
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables deep research tasks using a multi-agent architecture that integrates any LLM and MCP tools. Available via MCP stdio, streamable HTTP, and SSE transports.
    17
    MIT