# Web Researcher MCP

An MCP server for web search and link verification: your agent searches the whole web or a trusted list of sites and cites real sources.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 70
- Author: zoharbabin
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/zoharbabin/web-researcher-mcp
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/web-researcher-mcp

## What it does

Web Researcher MCP plugs into your agent as an MCP server and exposes search and citation-checking tools. You can search the entire web or narrow it to specific sites — medical journals, court databases, news outlets, academic papers. It reads the full source instead of a snippet, so the links in the answer work.

Installation runs through Docker: the container `ghcr.io/zoharbabin/web-researcher-mcp:1.50.3` starts with `GOOGLE_CUSTOM_SEARCH_API_KEY`, `GOOGLE_CUSTOM_SEARCH_ID`, `SEARCH_PROVIDER`, `SEARCH_ROUTING` and `BRAVE_API_KEY`. Search works over DuckDuckGo without keys, but `image_search` and `news_search` need one. There is also a Python SDK with a `WebResearcherClient`, sync and async.

No Docker on the machine means the server will not start: the connect commands for Claude, Codex, Cursor, GitHub Copilot and Gemini CLI all wrap `docker run`. The ready-made Cursor and GitHub Copilot configs go into the MCP settings file by hand.

## Requirements
- Needs: Docker
- Environment variables: `GOOGLE_CUSTOM_SEARCH_API_KEY`, `GOOGLE_CUSTOM_SEARCH_ID`, `SEARCH_PROVIDER`, `SEARCH_ROUTING`, `BRAVE_API_KEY`, `SERPER_API_KEY`, `SEARCHAPI_API_KEY`, `SEARXNG_URL`, `TAVILY_API_KEY`, `EXA_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env GOOGLE_CUSTOM_SEARCH_API_KEY=<GOOGLE_CUSTOM_SEARCH_API_KEY> --env GOOGLE_CUSTOM_SEARCH_ID=<GOOGLE_CUSTOM_SEARCH_ID> --env SEARCH_PROVIDER=<SEARCH_PROVIDER> --env SEARCH_ROUTING=<SEARCH_ROUTING> --env BRAVE_API_KEY=<BRAVE_API_KEY> --transport stdio web-researcher-mcp -- docker run -i --rm -e GOOGLE_CUSTOM_SEARCH_API_KEY -e GOOGLE_CUSTOM_SEARCH_ID -e SEARCH_PROVIDER -e SEARCH_ROUTING -e BRAVE_API_KEY ghcr.io/zoharbabin/web-researcher-mcp:1.50.3
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add web-researcher-mcp --env GOOGLE_CUSTOM_SEARCH_API_KEY=<GOOGLE_CUSTOM_SEARCH_API_KEY> --env GOOGLE_CUSTOM_SEARCH_ID=<GOOGLE_CUSTOM_SEARCH_ID> --env SEARCH_PROVIDER=<SEARCH_PROVIDER> --env SEARCH_ROUTING=<SEARCH_ROUTING> --env BRAVE_API_KEY=<BRAVE_API_KEY> -- docker run -i --rm -e GOOGLE_CUSTOM_SEARCH_API_KEY -e GOOGLE_CUSTOM_SEARCH_ID -e SEARCH_PROVIDER -e SEARCH_ROUTING -e BRAVE_API_KEY ghcr.io/zoharbabin/web-researcher-mcp:1.50.3
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "web-researcher-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "GOOGLE_CUSTOM_SEARCH_API_KEY",
                "-e",
                "GOOGLE_CUSTOM_SEARCH_ID",
                "-e",
                "SEARCH_PROVIDER",
                "-e",
                "SEARCH_ROUTING",
                "-e",
                "BRAVE_API_KEY",
                "ghcr.io/zoharbabin/web-researcher-mcp:1.50.3"
            ],
            "env": {
                "GOOGLE_CUSTOM_SEARCH_API_KEY": "<GOOGLE_CUSTOM_SEARCH_API_KEY>",
                "GOOGLE_CUSTOM_SEARCH_ID": "<GOOGLE_CUSTOM_SEARCH_ID>",
                "SEARCH_PROVIDER": "<SEARCH_PROVIDER>",
                "SEARCH_ROUTING": "<SEARCH_ROUTING>",
                "BRAVE_API_KEY": "<BRAVE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "web-researcher-mcp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "GOOGLE_CUSTOM_SEARCH_API_KEY",
                "-e",
                "GOOGLE_CUSTOM_SEARCH_ID",
                "-e",
                "SEARCH_PROVIDER",
                "-e",
                "SEARCH_ROUTING",
                "-e",
                "BRAVE_API_KEY",
                "ghcr.io/zoharbabin/web-researcher-mcp:1.50.3"
            ],
            "env": {
                "GOOGLE_CUSTOM_SEARCH_API_KEY": "<GOOGLE_CUSTOM_SEARCH_API_KEY>",
                "GOOGLE_CUSTOM_SEARCH_ID": "<GOOGLE_CUSTOM_SEARCH_ID>",
                "SEARCH_PROVIDER": "<SEARCH_PROVIDER>",
                "SEARCH_ROUTING": "<SEARCH_ROUTING>",
                "BRAVE_API_KEY": "<BRAVE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 9 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GOOGLE_CUSTOM_SEARCH_API_KEY=<GOOGLE_CUSTOM_SEARCH_API_KEY> -e GOOGLE_CUSTOM_SEARCH_ID=<GOOGLE_CUSTOM_SEARCH_ID> -e SEARCH_PROVIDER=<SEARCH_PROVIDER> -e SEARCH_ROUTING=<SEARCH_ROUTING> -e BRAVE_API_KEY=<BRAVE_API_KEY> web-researcher-mcp docker run -i --rm -e GOOGLE_CUSTOM_SEARCH_API_KEY -e GOOGLE_CUSTOM_SEARCH_ID -e SEARCH_PROVIDER -e SEARCH_ROUTING -e BRAVE_API_KEY ghcr.io/zoharbabin/web-researcher-mcp:1.50.3
```
Replace <…> with your own values. 9 more environment variables are in the server README

## When to use it
- find sources on a narrow topic without invented links
- restrict a search to trusted sites instead of the whole web
- check that a cited URL actually exists
- pull data out of academic papers and court databases
- run image and news search from code via the Python SDK

## Example prompts
- Find recent papers on CRISPR off-target effects and give me the source links
- Search only medical journals for what is known about this drug
- Verify that every link in this report is live

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32221
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [apify-mcp-server](https://affpapa.org/en/nevibecode/mcp/apify-mcp-server.md) — MCP server · ★ 12927

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
