OPEN-SOURCE · MCP · WEB RESEARCH

Sibyl.

Research the web as inspectable evidence—or produce a cited report with your model.

Sibyl is a web-research MCP, CLI, and Python library. Its keyless path returns a typed SourceBundle with passage provenance and explicit insufficiency states; its optional model-backed path synthesizes the evidence into a cited report.

HOW IT WORKS

A bounded path from request to evidence.

  1. 01

    Search

    Gather public-web candidates without requiring a search API key for the core retrieval path.

  2. 02

    Extract

    Turn pages into compact, ranked passages that retain URLs, offsets, identifiers, and content hashes.

  3. 03

    Distinguish

    Cluster syndicated copies so repeated text is not mistaken for multiple independent sources.

  4. 04

    Hand off

    Return a typed SourceBundle with diagnostics and an explicit sufficient, partial, or insufficient state.

DESIGN

The product is the contract.

The interface is useful because it exposes what happened, where confidence comes from, and where the system stops—not because an agent produced a confident paragraph.

Keyless evidence gathering

The core gather_bundle workflow searches and extracts public sources without making an API key the entry ticket.

Passage-level provenance

Citation IDs, character offsets, source URLs, and hashes let downstream agents inspect the exact evidence they received.

Independent-support signals

content_cluster_id groups syndicated or substantially duplicated material instead of counting domains alone.

Honest failure states

Typed status and diagnostics make missing, partial, or low-quality support visible instead of quietly filling the gap.

MCP, CLI, and Python

Use the same retrieval layer from an MCP host, a terminal workflow, or directly inside a Python application.

Optional report synthesis

A configured language model can turn the evidence bundle into a cited report; retrieval remains useful without one.

QUICK START

Inspect the real thing.

Then ask your MCP host to gather evidence for a question. The keyless path returns structured sources even when no synthesis model is configured.

TERMINALPUBLIC BETA · v0.3.0
$ python -m pip install sibyl-research
$ claude mcp add sibyl -- uvx --from sibyl-research sibyl-mcp

VERIFIABLE SCOPE

221
automated tests
BETA
current maturity
8 / 8
fixed retrieval evaluation
3.10–3.12
tested Python versions

The 8/8 result is a deterministic lexical retrieval evaluation, not a claim that the live web is complete or always correct. The source-quality baseline separately reports 83.3% selective accuracy at 75% coverage.

HONEST BOUNDARIES

What this does not prove.

FAQ

Before you try it.

Does Sibyl require a search API key?

No for its core public-web retrieval path. Optional providers and model-backed report synthesis may have their own credentials, but structured evidence gathering is designed to work keylessly.

Does Sibyl always write a finished research report?

No. Its primary product is a typed evidence bundle. A configured model can synthesize that bundle into a cited report, but downstream agents can also inspect or compose from the evidence directly.

Do three different domains count as three independent sources?

Not necessarily. Sibyl clusters substantially duplicated or syndicated content so repeated copies can be recognized as one underlying line of support.

Does a sufficient status mean the claim is true?

No. Sufficiency describes whether the retrieval contract found enough usable evidence for the requested task. It does not replace source criticism or factual judgment.

OPEN SOURCE

Read the code. Check the claims. Run it.