Ten local tools cover web retrieval and evidence reuse
Wigolo exposes 10 web tools through MCP, REST, a terminal interface, and client SDKs. Search can query several engines, fetch can escalate to a browser, crawl follows multiple pages, and extract returns structured fields. The remaining tools reuse cached pages, find related sources, assemble research, run a gathering loop, compare revisions, or watch for changes. Results can include source excerpts, byte positions, citation identifiers, and score components, which gives an agent more material to check than a plain list of links.
Search, fetch, crawl, extraction, cache, and similarity work without a private API credential. They still contact public sites and search services, while cache files, embeddings, models, and configuration stay under ~/.wigolo/. Research and answer synthesis can call Gemini, Anthropic, OpenAI, Groq, Ollama, or another compatible endpoint. Without a language model, those tools return evidence for the host agent to assemble. That division is sensible for local use because the expensive writing step remains optional.
Node 20 starts the service, then local components add weight
Node 20 is the documented minimum, although the troubleshooting section recommends LTS releases 20, 22, or 24. npx wigolo init installs the local engine, obtains browser and model components, runs health checks, and can write MCP configuration for several editors. Issue 237 reports that installation on Node 26 failed while building better-sqlite3, despite the package declaring Node 20 or newer. Staying on a recommended LTS release avoids that reported mismatch.
The service can listen on 127.0.0.1:3333 for local REST clients. Binding beyond loopback requires a bearer token, and Docker deployments need a persistent data volume. Browser automation may need extra Linux libraries. Public search engines can reject a datacenter address or change their markup, so Wigolo reports degraded backends and challenge failures. These are ordinary costs for a local web stack, but they belong in the operating budget beside disk space and model downloads.
What happened when we ran it
Our sandbox installed commit c6ad447 in 40 seconds, adding 610 npm packages and consuming 1,327 MB. The build then passed in 13 seconds. The checkout itself contained 1,672 files, roughly 232,596 source lines, and 25.5 MB. We also found 9 CI workflow files, a Dockerfile, and a tests directory. Installation and compilation were straightforward on Node 22, yet the dependency footprint was far larger than the source checkout.
The test command exited 1 after 194 seconds. Vitest reported 8,346 passed, 37 failed, 11 skipped, and 7 todo out of 8,401 tests. Seven test files failed, 711 passed, and 3 were skipped out of 721. The log tail named failures in no-lightpanda.test.ts and warmup-setup-json-contract.test.ts, plus an error stating that a test exceeded 20,000 ms. It also showed warnings from a deliberately failing search engine. The supplied tail does not identify one cause for all 37 failures.
Npm audit found 18 known vulnerabilities in the installed tree: 1 critical, 12 high, 3 moderate, and 2 low. That result deserves attention because Wigolo handles arbitrary URLs, runs a browser, stores fetched content, and can expose a network service. The count does not say whether every advisory is reachable in the default path. A prospective operator should review the affected packages and fixes before deciding that local execution is safer than a hosted search API.
Two open MCP reports question the documented bare command
Open issues 472 and 473 test the documented npx -y wigolo stdio command against MCP revisions dated 2026-07-28 and 2025-11-25. The reports describe failed initialization handshakes and official SDK clients seeing a closed connection. Both reporters allow for a possible prerequisite that their black-box setup missed. That caveat matters, yet the documented bare command should still be reproduced with every MCP client you plan to support before standardizing Wigolo across editors.
Other open reports affect narrower paths. Issue 231 says the v0.2.1 ARM64 Docker image omitted a native tokenizer package, causing vector search to fall back without surfacing the change outside logs. Issue 262 says REST failures such as invalid URLs and blocked fetches returned HTTP 500 because status mapping read the wrong field. Issue 303 says the advertised search-engine allowlist was ignored. Each has a direct acceptance test, and each matters more than a broad feature checklist.
September code activity has moved beyond the July release tag
GitHub recorded 4,823 stars, 58 open issues and pull requests, and a last push on September 1, 2026. The latest GitHub release was v0.2.1 on July 19. That gap does not indicate abandonment because commits and issue discussions continued afterward. It does mean users must choose between the release and newer source changes deliberately, then rerun the exact REST, MCP, Docker, and search paths they expect to deploy.
Wigolo calls itself a public beta, which matches our evidence better than its confident marketing copy. The 40-second install and successful build make exploration easy, while 1,327 MB of dependencies, 37 failed tests, and 18 audit findings rule out casual production adoption. Its AGPL-3.0 license is friendly to local use and requires source disclosure for a modified network service. Try it beside one agent first, inspect degraded results, and keep a narrower crawler or hosted search option available for comparison.

