Web Researcher MCP — Claude Code MCP server: search with citable
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.
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.3What Web Researcher MCP 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.
What it helps with
- 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 for the agent
- 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
How to install Web Researcher MCP
Platform CLI
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.3Replace <…> with your own values. 9 more environment variables are in the server README
Platform CLI
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.3Replace <…> with your own values. 9 more environment variables are in the server README
Config file
{
"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
Config file
{
"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
Platform CLI
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.3Replace <…> with your own values. 9 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Web Researcher MCP
How do I install Web Researcher MCP in Claude Code?
Run `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`.
What does Web Researcher MCP do?
It gives your agent web search with real citations and link verification. You can search the whole web or only chosen sites, and it reads the full page rather than a snippet.
Do I need API keys for it to work?
Basic search over DuckDuckGo needs no key. image_search and news_search will not work without one.