Web Researcher MCP

by zoharbabin

Not rated yet

About

Production-grade MCP server for web search, content extraction, and multi-source research — 8 tools, 5 search providers with automatic failover, 4-tier scraping pipeline. Single Go binary.

Explore

curl -fsSL https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.ps1 | iex"

Downloads the binary, verifies its SHA-256 checksum against the signed release, puts it on your PATH, and registers it with Claude Code if installed. Customize the install location:

INSTALL_DIR=/opt/tools curl -fsSL https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.sh | sh
# Using any AUR helper (yay, paru, etc.) yay -S web-researcher-mcp

Or manually:git clone https://aur.archlinux.org/web-researcher-mcp.git && cd web-researcher-mcp && makepkg -si

# Run without installing nix run github:zoharbabin/web-researcher-mcp # Add to your flake inputs nix profile install github:zoharbabin/web-researcher-mcp

See](https://github.com/zoharbabin/web-researcher-mcp/blob/HEAD/docs/DEPLOYMENT.md#mcp-resources--prompts)packaging/nix/flake.nixfor NixOS module usage.

Continue.dev:
Add to your Continue~/.continue/config.json:

{ "mcpServers": { "web-researcher": { "command": "uvx", "args": ["web-researcher-mcp"] } } }

Or copypackaging/continue/config.jsonas a starting point.

winget install zoharbabin.web-researcher-mcp
scoop bucket add zoharbabin https://github.com/zoharbabin/scoop-bucket scoop install web-researcher-mcp

Homebrew Cask (macOS — Developer ID-signed + notarized binary):

brew install --cask zoharbabin/tap/web-researcher-mcp

The cask ships the notarized darwin binary (Gatekeeper-clean). Most users want the formula above (brew install zoharbabin/tap/web-researcher-mcp), which the bare name resolves to; pass--caskexplicitly for the notarized artifact.

go install github.com/zoharbabin/web-researcher-mcp/cmd/web-researcher-mcp@latest claude mcp add --scope user web-researcher -- web-researcher-mcp
# STDIO mode needs -i so the container's stdin stays attached for MCP JSON-RPC docker run -i --rm \ -e GOOGLE_CUSTOM_SEARCH_API_KEY=YOUR_KEY \ -e GOOGLE_CUSTOM_SEARCH_ID=YOUR_CX \ docker.io/zoharbabin/web-researcher-mcp:latest
git clone https://github.com/zoharbabin/web-researcher-mcp.git cd web-researcher-mcp go build -o web-researcher-mcp ./cmd/web-researcher-mcp

The install script registers with Claude Code automatically. For other apps, add to your AI's config file:

{ "mcpServers": { "web-researcher": { "command": "web-researcher-mcp", "env": { "GOOGLE_CUSTOM_SEARCH_API_KEY": "YOUR_GOOGLE_API_KEY", "GOOGLE_CUSTOM_SEARCH_ID": "YOUR_SEARCH_ENGINE_ID" } } } }

Any provider works — pick one and set its key. For example, Brave (no Google keys needed):

{ "mcpServers": { "web-researcher": { "command": "web-researcher-mcp", "env": { "SEARCH_PROVIDER": "brave", "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY" } } } }

Swap in any provider from theConfigurationtable by settingSEARCH_PROVIDERand that provider's key. Done — your AI assistant now has access to all research tools.

No API key required.DuckDuckGo is the built-in zero-config fallback — install and go. To raise result quality and unlock image/news search, addany oneof the providers below. They're all optional and interchangeable — pick whichever you already use or prefer; the server treats them equally.

SetSEARCH_PROVIDER=<name>and supply that provider's key. Every provider works withsearch lenses, and any of them can be combined for automatic failover (seeSearch Providers).

Each provider has its own free tier, signup flow, and capability mix (images, news, freshness). Seedocs/PROVIDERS.mdfor a full comparison (index classification, capability matrix, quick-pick guide) anddocs/API_SETUP.mdfor step-by-step key setup. Set up more than one and the server fails over automatically — see[Search Providers.

WhenSEARCH_PROVIDERis unset, the server uses Google if its keys are present and otherwise falls back to the zero-config DuckDuckGo provider — so it always works out of the box, with or without keys.

curl -fsSL https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.ps1 | iex"

Downloads the binary, verifies its SHA-256 checksum against the signed release, puts it on your PATH, and registers it with Claude Code if installed. Customize the install location:

INSTALL_DIR=/opt/tools curl -fsSL https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.sh | sh
# Using any AUR helper (yay, paru, etc.) yay -S web-researcher-mcp

Or manually:git clone https://aur.archlinux.org/web-researcher-mcp.git && cd web-researcher-mcp && makepkg -si

# Run without installing nix run github:zoharbabin/web-researcher-mcp # Add to your flake inputs nix profile install github:zoharbabin/web-researcher-mcp

See](https://github.com/zoharbabin/web-researcher-mcp/blob/HEAD/docs/DEPLOYMENT.md#mcp-resources--prompts)packaging/nix/flake.nixfor NixOS module usage.

Continue.dev:
Add to your Continue~/.continue/config.json:

{ "mcpServers": { "web-researcher": { "command": "uvx", "args": ["web-researcher-mcp"] } } }

Or copypackaging/continue/config.jsonas a starting point.

winget install zoharbabin.web-researcher-mcp
scoop bucket add zoharbabin https://github.com/zoharbabin/scoop-bucket scoop install web-researcher-mcp

Homebrew Cask (macOS — Developer ID-signed + notarized binary):

brew install --cask zoharbabin/tap/web-researcher-mcp

The cask ships the notarized darwin binary (Gatekeeper-clean). Most users want the formula above (brew install zoharbabin/tap/web-researcher-mcp), which the bare name resolves to; pass--caskexplicitly for the notarized artifact.

go install github.com/zoharbabin/web-researcher-mcp/cmd/web-researcher-mcp@latest claude mcp add --scope user web-researcher -- web-researcher-mcp
# STDIO mode needs -i so the container's stdin stays attached for MCP JSON-RPC docker run -i --rm \ -e GOOGLE_CUSTOM_SEARCH_API_KEY=YOUR_KEY \ -e GOOGLE_CUSTOM_SEARCH_ID=YOUR_CX \ docker.io/zoharbabin/web-researcher-mcp:latest
git clone https://github.com/zoharbabin/web-researcher-mcp.git cd web-researcher-mcp go build -o web-researcher-mcp ./cmd/web-researcher-mcp

The install script registers with Claude Code automatically. For other apps, add to your AI's config file:

{ "mcpServers": { "web-researcher": { "command": "web-researcher-mcp", "env": { "GOOGLE_CUSTOM_SEARCH_API_KEY": "YOUR_GOOGLE_API_KEY", "GOOGLE_CUSTOM_SEARCH_ID": "YOUR_SEARCH_ENGINE_ID" } } } }

Any provider works — pick one and set its key. For example, Brave (no Google keys needed):

{ "mcpServers": { "web-researcher": { "command": "web-researcher-mcp", "env": { "SEARCH_PROVIDER": "brave", "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY" } } } }

Swap in any provider from theConfigurationtable by settingSEARCH_PROVIDERand that provider's key. Done — your AI assistant now has access to all research tools.

No API key required.DuckDuckGo is the built-in zero-config fallback — install and go. To raise result quality and unlock image/news search, addany oneof the providers below. They're all optional and interchangeable — pick whichever you already use or prefer; the server treats them equally.

SetSEARCH_PROVIDER=<name>and supply that provider's key. Every provider works withsearch lenses, and any of them can be combined for automatic failover (seeSearch Providers).

Each provider has its own free tier, signup flow, and capability mix (images, news, freshness). Seedocs/PROVIDERS.mdfor a full comparison (index classification, capability matrix, quick-pick guide) anddocs/API_SETUP.mdfor step-by-step key setup. Set up more than one and the server fails over automatically — see[Search Providers.

WhenSEARCH_PROVIDERis unset, the server uses Google if its keys are present and otherwise falls back to the zero-config DuckDuckGo provider — so it always works out of the box, with or without keys.

Your AI research assistant that cites real sources and stays honest.

Search the entire web or narrow it down to just the sites you trust;
medical journals, court databases, news outlets, academic papers.
Analyze the full source, not just snippets. Links that work, citations you can trust,
no made up closed garden pre-synthesized results.

⭐ If you're tired of AI making things up, andweb-researcher-mcphelps you, give us a star ⭐ — it helps more teams discover the project.

Python users —uvx(no compile, any OS):

# One-time: install uv (skip if you already have it) curl -LsSf https://astral.sh/uv/install.sh | sh # macOS/Linux (Windows: winget install astral-sh.uv) claude mcp add --scope user web-researcher -- uvx web-researcher-mcp

uvfetches the right prebuilt binary for your platform and runs it — no Go, no compile, no manual PATH. Point any MCP client atuvx web-researcher-mcp. Also works withuv tool install web-researcher-mcporpip install web-researcher-mcp.

from web_researcher_mcp import WebResearcherClient async with WebResearcherClient() as client: response = await client.web_search("CRISPR off-target effects 2024", num_results=5) for r in response.results: verified = await client.verify_citation(r.url) print(r.title, "—", "✓" if verified.exists else "?")

Full documentation:docs/PYTHON_CLIENT.md

Sync wrapper (for scripts and notebooks that don't use async):

with WebResearcherClient.sync() as client: response = client.web_search("climate change 2024") print(response.results[0].title)
brew install zoharbabin/tap/web-researcher-mcp claude mcp add --scope user web-researcher -- web-researcher-mcp
curl -fsSL https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.ps1 | iex"

No dev tools needed — every method ships the same signed binary (the PyPI wheels vendor it; the others download it and verify its checksum) and puts it on your PATH. Thecurl/PowerShell installers also register it with Claude Code automatically when theclaudeCLI is present; Homebrew installs the binary, so run theclaude mcp addline above to connect it.

The Cursor / VS Code / LM Studio buttons install the zero-configuvxsetup (your editor prompts to confirm before adding it; needsuv— see above). It runsDuckDuckGo web search with no API key— great to try instantly;image_search/news_searchand richer providers need a key (2 min, seeConfiguration).Claude Desktop:download the.mcpbbundlefor your platform and double-click it (Settings → Extensions), or use theuvxline above.

Using a different MCP clientor want to pass API keys? SeeConnect to Your AI Assistantfor the per-app config, andConfigurationto pick a search provider.

Your AI can now search the web, read full articles, find academic papers, look up patents, and run multi-step research — only from sources you pick.

Perplexitygets its citations wrong over a third of the time. It links to papers that don't exist, invents DOIs, and presents SEO spam with the same confidence as peer-reviewed research. ChatGPT's web search isn't much better — it can't tell a blog post from a court filing.

If your work gets cited, published, submitted to a court, or shown to a client — you can't afford "probably real" sources.

This tool fixes the root cause:instead of searching the entire web and hoping, you tell your AIexactly which sources to search. We call these "search lenses" — curated lists of trusted sites for each field.

Works with Claude, Claude Desktop, Cursor, and any AI assistant that supports tool use.

- Academic researchers— "I need a literature review with real DOIs, not made-up citations"
- Business analysts— "My deliverable needs sources a client can actually click and verify"
- Lawyers— "If I cite a case that doesn't exist, I get fined $50,000"
- Journalists— "I need to cross-check government records and court filings, not Perplexity summaries"
- Medical researchers— "Clinical decisions based on a health blog could hurt someone"
- Graduate students— "I spent 3 hours tracking down a citation my AI invented"
- Enterprise teams— "Our competitive research can't go through a third party's servers"

- Perplexity— Quick casual lookups where you don't need to cite your sources
- Scite.ai / Elicit— Browsing a specific database of academic papers
- web-researcher-mcp— Anything where your reputation is attached to the research: client work, court filings, publications, grant proposals, medical decisions, journalism
- Claude built-in search— Quick one-off lookups mid-conversation

Most tools above are always available. A few activate only when the right provider or config is present:citation_graphandresearch_panelrequire at least one configured backing provider;filing_searchrequiresEDGAR_CONTACT_EMAIL;local_searchrequiresBRAVE_API_KEY. Operators can also enable opt-in, consent-gated tools (per-user analytics, long-term memory, shared workspaces, saved-query monitoring) that appear only when their feature is turned on — seedocs/TOOLS.mdfor the authoritative, CI-verified tool list and full schemas.

The server also ships guidedprompt templatesyour AI assistant can pull in with one click — they walk it through a proven, multi-step process so you don't have to spell out every instruction:

In most AI apps these show up wherever you pick a prompt or "/" command. The server exposes livestatus resources(stats://tools,stats://sessions,stats://rate-limits,stats://providers), a lens catalog (lenses://catalog), diagnostics (diagnostics://errors/recent,diagnostics://health), and a large-payload artifact store (research://artifact/{id}) so you — or your AI — can check usage, limits, and which providers are active. Seedocs/DEPLOYMENT.mdfor the full list.

Option 1: Homebrew (macOS / Linux — recommended)

brew install zoharbabin/tap/web-researcher-mcp claude mcp add --scope user web-researcher -- web-researcher-mcp

Homebrew handles trust, updates, and PATH for you — no signing warnings.

Option 2: One-command install (any OS — no dev tools needed)

curl -fsSL https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.ps1 | iex"

Downloads the binary, verifies its SHA-256 checksum against the signed release, puts it on your PATH, and registers it with Claude Code if installed. Customize the install location:

INSTALL_DIR=/opt/tools curl -fsSL https://raw.githubusercontent.com/zoharbabin/web-researcher-mcp/main/install.sh | sh
# Using any AUR helper (yay, paru, etc.) yay -S web-researcher-mcp

Or manually:git clone https://aur.archlinux.org/web-researcher-mcp.git && cd web-researcher-mcp && makepkg -si

# Run without installing nix run github:zoharbabin/web-researcher-mcp # Add to your flake inputs nix profile install github:zoharbabin/web-researcher-mcp

See[packaging/nix/flake.nixfor NixOS module usage.

Continue.dev:
Add to your Continue~/.continue/config.json:

…

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.