Skip to main content

wigolo-llamaindex

LlamaIndex reader for wigolo — a local-first web search MCP server for AI coding agents.

Installation

pip install wigolo-llamaindex

Requires wigolo to be available via npx:

npm install -g wigolo
# or use npx (default, no install needed)

Quick Start

Fetch URLs into Documents

from wigolo_llamaindex import WigoloMcpClient, WigoloWebReader

async def main():
    async with WigoloMcpClient() as client:
        reader = WigoloWebReader(client=client)
        docs = await reader.aload_data(urls=[
            "https://docs.python.org/3/library/asyncio.html",
            "https://docs.python.org/3/library/typing.html",
        ])
        for doc in docs:
            print(f"{doc.metadata['title']}: {len(doc.text)} chars")

Search and Load

from wigolo_llamaindex import WigoloMcpClient, WigoloSearchReader

async def main():
    async with WigoloMcpClient() as client:
        reader = WigoloSearchReader(
            client=client,
            max_results=5,
            include_domains=["docs.python.org"],
        )
        docs = await reader.aload_data(query="Python asyncio best practices")

Use in a RAG Pipeline

from llama_index.core import VectorStoreIndex
from wigolo_llamaindex import WigoloMcpClient, WigoloWebReader

async def build_index():
    async with WigoloMcpClient() as client:
        reader = WigoloWebReader(client=client)
        docs = await reader.aload_data(urls=[
            "https://react.dev/learn",
            "https://react.dev/reference/react",
        ])
        index = VectorStoreIndex.from_documents(docs)
        return index

Section Extraction

reader = WigoloWebReader(client=client, section="API Reference")
docs = await reader.aload_data(urls=["https://docs.example.com/api"])
# Only loads the "API Reference" section from each page

API Reference

WigoloMcpClient

Async MCP client that communicates with wigolo via subprocess.

  • command — executable (default: "npx")
  • args — arguments (default: ["wigolo"])
  • timeout — seconds (default: 30.0)
  • Supports async with context manager

WigoloWebReader

Fetches URLs and converts to Documents.

  • client — WigoloMcpClient instance
  • render_js — "auto", "always", "never" (default: "auto")
  • section — extract only a specific heading section
  • max_chars — cap content length
  • use_auth — use stored browser session

Methods:

  • load_data(urls: list[str]) -> list[Document]
  • aload_data(urls: list[str]) -> list[Document]
  • lazy_load_data(urls: list[str]) -> Iterator[Document]

WigoloSearchReader

Searches the web and converts results to Documents.

  • client — WigoloMcpClient instance
  • max_results — default 5
  • include_domains / exclude_domains — domain filters
  • category — "general", "code", "docs", "news", "papers"

Methods:

  • load_data(query: str) -> list[Document]
  • aload_data(query: str) -> list[Document]
  • lazy_load_data(query: str) -> Iterator[Document]

License

GNU AGPL-3.0-only — same license as the parent wigolo project. Full terms in the root LICENSE.

Metadata

Release files for wigolo-llamaindex 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wigolo-llamaindex 0.3.0
File Size Uploaded Provenance Actions
wigolo_llamaindex-0.3.0.tar.gz 9.8 kB Without provenance Details for wigolo_llamaindex-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for wigolo-llamaindex 0.3.0
File Interpreter ABI Platform Actions
wigolo_llamaindex-0.3.0-py3-none-any.whl Python 3 none any Details for wigolo_llamaindex-0.3.0-py3-none-any.whl

Total release size: 17.6 kB

Release files / wigolo_llamaindex-0.3.0.tar.gz

Download URL wigolo_llamaindex-0.3.0.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
46ab18c947bda256ee61239a3c50d60f9072ebf7132333692211a09e3215f688
BLAKE2b-256 checksum
How to use checksums
0f5dc57f4ad04475fc200a57c5f44f2133d3e31e4e563a4384c1777d0db3eedf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / wigolo_llamaindex-0.3.0-py3-none-any.whl

Download URL wigolo_llamaindex-0.3.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d98d9b4b09ae22f49f5c486f36885881739def2f0a0871e79c0ed688226fd907
BLAKE2b-256 checksum
How to use checksums
7a9163683a2175eab159481a94530bff9af7a7343ef13b07eb6e20005bed2fa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Security for wigolo-llamaindex 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page