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.1

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.1
File Size Uploaded Provenance Actions
wigolo_llamaindex-0.3.1.tar.gz 9.8 kB Without provenance Details for wigolo_llamaindex-0.3.1.tar.gz

Built distribution (wheel)

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

Total release size: 17.6 kB

Release files / wigolo_llamaindex-0.3.1.tar.gz

Download URL wigolo_llamaindex-0.3.1.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6aef9839491fe23934508c0d3f83b6725d988fff69982bb912b4737d3b5710d1
BLAKE2b-256 checksum
How to use checksums
fd576fb7e01730e10e7e1d022ec217bb3b6f8ef81f3fa6c53c3cee3a6a3cb29a
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.1-py3-none-any.whl

Download URL wigolo_llamaindex-0.3.1-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5bfdbef882b05f2267e2da56927310c9d650ef0137e8adbdda120b785ac9b5b5
BLAKE2b-256 checksum
How to use checksums
2997d9cef8375302c4f2aabd1e89c69015255a17c2ddfc037bfba1262adbdfab
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.1

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