Web Researcher MCP
An AI research assistant that searches the web and primary sources, reads full pages, and checks every citation. It runs locally on the user's machine, supports clients like Claude and Cursor, and requires no API key to start.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Search the web and primary sources like SEC filings and patents
- Read full pages including those behind logins
- Check every citation to prevent hallucinations
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/zoharbabin/web-researcher-mcp:1.50.4
{
"transport": "stdio",
"identifier": "ghcr.io/zoharbabin/web-researcher-mcp:1.50.4",
"registryType": "oci",
"environmentVariables": [
{
"name": "GOOGLE_CUSTOM_SEARCH_API_KEY",
"description": "Google Custom Search API key"
},
{
"name": "GOOGLE_CUSTOM_SEARCH_ID",
"description": "Google Programmable Search Engine ID"
},
{
"name": "SEARCH_PROVIDER",
"description": "Search provider: google, brave, serper, searxng, searchapi, duckduckgo, tavily, exa, hackernews, reddit, bluesky, github, or xquik"
},
{
"name": "SEARCH_ROUTING",
"description": "Use multiple search engines with automatic switching if one goes down (e.g. brave,google,serper)"
},
{
"name": "BRAVE_API_KEY",
"description": "Brave Search API key"
},
{
"name": "SERPER_API_KEY",
"description": "Serper.dev API key"
},
{
"name": "SEARCHAPI_API_KEY",
"description": "SearchAPI.io API key"
},
{
"name": "SEARXNG_URL",
"description": "SearXNG instance URL"
},
{
"name": "TAVILY_API_KEY",
"description": "Tavily Search API key"
},
{
"name": "EXA_API_KEY",
"description": "Exa API key (neural/semantic web search provider)"
},
{
"name": "XQUIK_API_KEY",
"description": "Xquik API key (metered X/Twitter post search provider)"
},
{
"name": "EDGAR_CONTACT_EMAIL",
"description": "Contact email for SEC EDGAR (enables filing_search); falls back to OPENALEX_EMAIL"
},
{
"name": "COURTLISTENER_API_TOKEN",
"description": "CourtListener API token (legal_search works without it; a token raises the rate limit)"
},
{
"name": "FRED_API_KEY",
"description": "FRED API key (enables econ_search for Federal Reserve economic data)"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"web-researcher-mcp-1-50-4": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_CUSTOM_SEARCH_API_KEY=<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"-e",
"GOOGLE_CUSTOM_SEARCH_ID=<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"-e",
"SEARCH_PROVIDER=<YOUR_SEARCH_PROVIDER>",
"-e",
"SEARCH_ROUTING=<YOUR_SEARCH_ROUTING>",
"-e",
"BRAVE_API_KEY=<YOUR_BRAVE_API_KEY>",
"-e",
"SERPER_API_KEY=<YOUR_SERPER_API_KEY>",
"-e",
"SEARCHAPI_API_KEY=<YOUR_SEARCHAPI_API_KEY>",
"-e",
"SEARXNG_URL=<YOUR_SEARXNG_URL>",
"-e",
"TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>",
"-e",
"EXA_API_KEY=<YOUR_EXA_API_KEY>",
"-e",
"XQUIK_API_KEY=<YOUR_XQUIK_API_KEY>",
"-e",
"EDGAR_CONTACT_EMAIL=<YOUR_EDGAR_CONTACT_EMAIL>",
"-e",
"COURTLISTENER_API_TOKEN=<YOUR_COURTLISTENER_API_TOKEN>",
"-e",
"FRED_API_KEY=<YOUR_FRED_API_KEY>",
"ghcr.io/zoharbabin/web-researcher-mcp:1.50.4"
],
"env": {
"GOOGLE_CUSTOM_SEARCH_API_KEY": "<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"GOOGLE_CUSTOM_SEARCH_ID": "<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"SEARCH_PROVIDER": "<YOUR_SEARCH_PROVIDER>",
"SEARCH_ROUTING": "<YOUR_SEARCH_ROUTING>",
"BRAVE_API_KEY": "<YOUR_BRAVE_API_KEY>",
"SERPER_API_KEY": "<YOUR_SERPER_API_KEY>",
"SEARCHAPI_API_KEY": "<YOUR_SEARCHAPI_API_KEY>",
"SEARXNG_URL": "<YOUR_SEARXNG_URL>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"XQUIK_API_KEY": "<YOUR_XQUIK_API_KEY>",
"EDGAR_CONTACT_EMAIL": "<YOUR_EDGAR_CONTACT_EMAIL>",
"COURTLISTENER_API_TOKEN": "<YOUR_COURTLISTENER_API_TOKEN>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>"
}
}
}
}Cline
{
"mcpServers": {
"web-researcher-mcp-1-50-4": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_CUSTOM_SEARCH_API_KEY=<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"-e",
"GOOGLE_CUSTOM_SEARCH_ID=<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"-e",
"SEARCH_PROVIDER=<YOUR_SEARCH_PROVIDER>",
"-e",
"SEARCH_ROUTING=<YOUR_SEARCH_ROUTING>",
"-e",
"BRAVE_API_KEY=<YOUR_BRAVE_API_KEY>",
"-e",
"SERPER_API_KEY=<YOUR_SERPER_API_KEY>",
"-e",
"SEARCHAPI_API_KEY=<YOUR_SEARCHAPI_API_KEY>",
"-e",
"SEARXNG_URL=<YOUR_SEARXNG_URL>",
"-e",
"TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>",
"-e",
"EXA_API_KEY=<YOUR_EXA_API_KEY>",
"-e",
"XQUIK_API_KEY=<YOUR_XQUIK_API_KEY>",
"-e",
"EDGAR_CONTACT_EMAIL=<YOUR_EDGAR_CONTACT_EMAIL>",
"-e",
"COURTLISTENER_API_TOKEN=<YOUR_COURTLISTENER_API_TOKEN>",
"-e",
"FRED_API_KEY=<YOUR_FRED_API_KEY>",
"ghcr.io/zoharbabin/web-researcher-mcp:1.50.4"
],
"env": {
"GOOGLE_CUSTOM_SEARCH_API_KEY": "<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"GOOGLE_CUSTOM_SEARCH_ID": "<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"SEARCH_PROVIDER": "<YOUR_SEARCH_PROVIDER>",
"SEARCH_ROUTING": "<YOUR_SEARCH_ROUTING>",
"BRAVE_API_KEY": "<YOUR_BRAVE_API_KEY>",
"SERPER_API_KEY": "<YOUR_SERPER_API_KEY>",
"SEARCHAPI_API_KEY": "<YOUR_SEARCHAPI_API_KEY>",
"SEARXNG_URL": "<YOUR_SEARXNG_URL>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"XQUIK_API_KEY": "<YOUR_XQUIK_API_KEY>",
"EDGAR_CONTACT_EMAIL": "<YOUR_EDGAR_CONTACT_EMAIL>",
"COURTLISTENER_API_TOKEN": "<YOUR_COURTLISTENER_API_TOKEN>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>"
}
}
}
}VS Code
{
"servers": {
"web-researcher-mcp-1-50-4": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_CUSTOM_SEARCH_API_KEY=<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"-e",
"GOOGLE_CUSTOM_SEARCH_ID=<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"-e",
"SEARCH_PROVIDER=<YOUR_SEARCH_PROVIDER>",
"-e",
"SEARCH_ROUTING=<YOUR_SEARCH_ROUTING>",
"-e",
"BRAVE_API_KEY=<YOUR_BRAVE_API_KEY>",
"-e",
"SERPER_API_KEY=<YOUR_SERPER_API_KEY>",
"-e",
"SEARCHAPI_API_KEY=<YOUR_SEARCHAPI_API_KEY>",
"-e",
"SEARXNG_URL=<YOUR_SEARXNG_URL>",
"-e",
"TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>",
"-e",
"EXA_API_KEY=<YOUR_EXA_API_KEY>",
"-e",
"XQUIK_API_KEY=<YOUR_XQUIK_API_KEY>",
"-e",
"EDGAR_CONTACT_EMAIL=<YOUR_EDGAR_CONTACT_EMAIL>",
"-e",
"COURTLISTENER_API_TOKEN=<YOUR_COURTLISTENER_API_TOKEN>",
"-e",
"FRED_API_KEY=<YOUR_FRED_API_KEY>",
"ghcr.io/zoharbabin/web-researcher-mcp:1.50.4"
],
"env": {
"GOOGLE_CUSTOM_SEARCH_API_KEY": "<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"GOOGLE_CUSTOM_SEARCH_ID": "<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"SEARCH_PROVIDER": "<YOUR_SEARCH_PROVIDER>",
"SEARCH_ROUTING": "<YOUR_SEARCH_ROUTING>",
"BRAVE_API_KEY": "<YOUR_BRAVE_API_KEY>",
"SERPER_API_KEY": "<YOUR_SERPER_API_KEY>",
"SEARCHAPI_API_KEY": "<YOUR_SEARCHAPI_API_KEY>",
"SEARXNG_URL": "<YOUR_SEARXNG_URL>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"XQUIK_API_KEY": "<YOUR_XQUIK_API_KEY>",
"EDGAR_CONTACT_EMAIL": "<YOUR_EDGAR_CONTACT_EMAIL>",
"COURTLISTENER_API_TOKEN": "<YOUR_COURTLISTENER_API_TOKEN>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"web-researcher-mcp-1-50-4": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_CUSTOM_SEARCH_API_KEY=<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"-e",
"GOOGLE_CUSTOM_SEARCH_ID=<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"-e",
"SEARCH_PROVIDER=<YOUR_SEARCH_PROVIDER>",
"-e",
"SEARCH_ROUTING=<YOUR_SEARCH_ROUTING>",
"-e",
"BRAVE_API_KEY=<YOUR_BRAVE_API_KEY>",
"-e",
"SERPER_API_KEY=<YOUR_SERPER_API_KEY>",
"-e",
"SEARCHAPI_API_KEY=<YOUR_SEARCHAPI_API_KEY>",
"-e",
"SEARXNG_URL=<YOUR_SEARXNG_URL>",
"-e",
"TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>",
"-e",
"EXA_API_KEY=<YOUR_EXA_API_KEY>",
"-e",
"XQUIK_API_KEY=<YOUR_XQUIK_API_KEY>",
"-e",
"EDGAR_CONTACT_EMAIL=<YOUR_EDGAR_CONTACT_EMAIL>",
"-e",
"COURTLISTENER_API_TOKEN=<YOUR_COURTLISTENER_API_TOKEN>",
"-e",
"FRED_API_KEY=<YOUR_FRED_API_KEY>",
"ghcr.io/zoharbabin/web-researcher-mcp:1.50.4"
],
"env": {
"GOOGLE_CUSTOM_SEARCH_API_KEY": "<YOUR_GOOGLE_CUSTOM_SEARCH_API_KEY>",
"GOOGLE_CUSTOM_SEARCH_ID": "<YOUR_GOOGLE_CUSTOM_SEARCH_ID>",
"SEARCH_PROVIDER": "<YOUR_SEARCH_PROVIDER>",
"SEARCH_ROUTING": "<YOUR_SEARCH_ROUTING>",
"BRAVE_API_KEY": "<YOUR_BRAVE_API_KEY>",
"SERPER_API_KEY": "<YOUR_SERPER_API_KEY>",
"SEARCHAPI_API_KEY": "<YOUR_SEARCHAPI_API_KEY>",
"SEARXNG_URL": "<YOUR_SEARXNG_URL>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"XQUIK_API_KEY": "<YOUR_XQUIK_API_KEY>",
"EDGAR_CONTACT_EMAIL": "<YOUR_EDGAR_CONTACT_EMAIL>",
"COURTLISTENER_API_TOKEN": "<YOUR_COURTLISTENER_API_TOKEN>",
"FRED_API_KEY": "<YOUR_FRED_API_KEY>"
}
}
}
}Let your agent find its tools
Find servers like Web Researcher MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.