What is an MCP? How to add web search to your agent with wigolo

An MCP is the standard way an AI programming agent connects to a tool it doesn’t have built-in — and yes, you can give your agent web search. wigolo is an MCP server that does exactly that, and runs entirely on your machine.

If you’ve used Claude Code, Cursor or Codex for more than a week, you’ve hit the limit: the agent reasons very well about the code in front of it and knows nothing about the web. You ask it about a library published after its cutoff date and it guesses. MCP is the protocol that closes that gap, and wigolo is one of the most interesting things connected to it today.

What is an MCP?

MCP — Model Context Protocol — is a specification for how an AI agent connects to an external capability. Think of it as a port: the agent speaks a single protocol, and anything that implements that protocol can be plugged in.

The important consequence is that the agent doesn’t need to know in advance what it will be connected to. An MCP server declares the tools it offers, the agent discovers them at runtime, and from there it can call them just like it calls any of its own functions. A filesystem MCP gives it your files. A database MCP gives it your schema. A web MCP gives it the internet.

An “MCP server” is simply a program that implements this. It normally runs locally, communicates via stdio, and starts when your agent starts. By default nothing is hosted in the cloud, and nothing in the protocol requires an external service — a detail worth keeping in mind, because it’s precisely the assumption that wigolo attacks.

Can an MCP give my agent web search?

Yes, and it’s one of the most common reasons to install one.

The usual route is a hosted search API — Firecrawl, Exa, Tavily — reached through an MCP wrapper. It works, and charges per query. Your agent’s curiosity becomes a line item on your bill, and that changes how you use it: you start rationing searches.

wigolo takes the opposite route. The search, downloading, crawling, extraction and ranking all run on your own hardware. The core doesn’t require any API key, and nothing leaves your machine unless you explicitly enable it.

What does wigolo do exactly?

The README documents eight tools the agent can call:

  • search — multi-engine retrieval with explainable scoring per result
  • fetch — URL loading that automatically scales from plain HTTP to TLS spoofing to headless browser
  • crawl — multi-page crawling that respects robots.txt and self-limits
  • extract — structured data from a page: tables, JSON-LD, schemas
  • cache — query results already saved by keyword or semantically
  • find_similar — related pages by merging keyword, semantic and live search
  • research — breaks down a question into subqueries and synthesizes a report with citations
  • agent — autonomous collection cycles with planning and step logging

The escalation in fetch is the part worth looking at carefully. Most scraping breaks because the site rejects a naive HTTP client. wigolo tries the cheap option first and only pays the cost of a real browser when the cheap path fails — the same instinct behind Scrapling, which we covered before, applied to the entire retrieval path for an agent rather than a one-off scraper.

Ranking, deduplication and canonicalization are deterministic and local. Calls to an LLM are reserved for synthesis, and even that is optional.

How do you install wigolo?

You need Node 20 or higher and around 1.5 GB of free disk space for local models. It works on macOS, Linux and Windows.

npx wigolo init --non-interactive --agents=claude-code

The accepted values for --agents are claude-code, cursor, codex, gemini-cli, vscode, windsurf, zed and antigravity. Then check that it started cleanly:

npx wigolo doctor

For any MCP-compatible client not on that list, register it manually:

{
  "mcpServers": {
    "wigolo": {
      "command": "npx",
      "args": ["-y", "wigolo"]
    }
  }
}

There’s also a container image:

docker run -i --rm -v wigolo-data:/data ghcr.io/knockoutez/wigolo

Optional synthesis is enabled with environment variables: WIGOLO_LLM_PROVIDER accepts gemini, anthropic, openai or groq, with the corresponding provider key. WIGOLO_SEARCH=hybrid adds aggregator fallback to the core engines, and WIGOLO_EAGER_WARMUP=1 preloads the models on startup.

On each call, the agent can pass mode (cache, default, stealth), search_depth (from ultra-fast to deep), a crawl strategy (bfs, dfs, sitemap, map) and include_domains to restrict retrieval to the sources you trust.

Is it as good as Firecrawl, Exa or Tavily?

The project publishes a four-way comparison against Firecrawl, Exa and Tavily in which it claims parity for an agent’s everyday queries, plus two things it says the others don’t have: text excerpts anchored to byte positions in the source, and score breakdown for each result. These are measurements from the maintainer, not independent benchmarks, and that’s how you should read them — though the claim about byte-level traceability is unusual enough that it’s worth checking yourself.

The honest caveats: at the time of publishing this note, in September 2026, wigolo is in public beta at version 0.2.1, released July 19, 2026. It’s under active development and its surface can still move.

The license is AGPL-3.0-only. You can self-host it across an entire company at no cost; if you modify it and run it as a network service, you publish the modifications. The maintainer is explicit that this is deliberate — it prevents the project from being closed down later by converting it into a hosted product. Commercial licensing is available for anyone who needs different terms.

Is it worth installing?

If your agent already has web access you’re happy with, this is a component swap, not a revelation. If it doesn’t — or if measured retrieval is conditioning how much freedom you give the agent to explore — it’s a one-line install that removes the meter entirely.

Start with search and fetch. research and agent are the interesting ones, but you’ll understand much better what they do after you’ve seen the basic retrieval in action.

mcp #mcp-servers #web-search ai-agents open-source
Claude Code