Multi-source web research via the web-researcher-mcp Go server (deployed binary v1.43.0) — you pick the search ENGINE and the trusted SOURCES, and every citation is a real, checkable link. 21 live MCP tools (verified against tools/list): web/image/news/academic/patent search, search_and_scrape, sequential_search, awesome_list_search, brand_research; domain search (clinical_search, legal_search/CourtListener, econ_search/World Bank+FRED); scrape_page (full PDF/DOCX/PPTX/YouTube/HN, not snippets); citation integrity (verify_citation, verify_recommendation, audit_bibliography, citation_graph, archive_source/Wayback, format_bibliography APA/MLA/BibTeX/RIS/CSL); research session memory + export (get_research_session, research_export). Search LENSES restrict results to trusted domains (academic, clinical, legal, finance, government, journalism, devops, docs). Pluggable backends (Google PSE/Brave/Serper/SearXNG/SearchAPI/Exa), DuckDuckGo fallback. Use for reputation-attached research needing verifiable citations — t
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Multi-source web research via the web-researcher-mcp Go server (deployed binary v1.43.0) — you pick the search ENGINE and the trusted SOURCES, and every citation is a real, checkable link. 21 live MCP tools (verified against tools/list): web/image/news/academic/patent search, search_and_scrape, sequential_search, awesome_list_search, brand_research; domain search (clinical_search, legal_search/CourtListener, econ_search/World Bank+FRED); scrape_page (full PDF/DOCX/PPTX/YouTube/HN, not snippets); citation integrity (verify_citation, verify_recommendation, audit_bibliography, citation_graph, archive_source/Wayback, format_bibliography APA/MLA/BibTeX/RIS/CSL); research session memory + export (get_research_session, research_export). Search LENSES restrict results to trusted domains (academic, clinical, legal, finance, government, journalism, devops, docs). Pluggable backends (Google PSE/Brave/Serper/SearXNG/SearchAPI/Exa), DuckDuckGo fallback. Use for reputation-attached research needing verifiable citations — the open, auditable, private counterpart to perplexity-research (fast closed synthesis). NOT for quick uncited lookups (use perplexity/ceramic), interactive browser flows or JS-rendered pages (headless scrape tier DISABLED here → delegate to the `browser` sidecar), or grounding in our own ontology (use ontology-augment).
Production-grade live-web research bridge: search across the engine you choose,
narrow to the sources you trust (lenses), read the full source (not snippets),
and get citations you can verify — never fabricated, never a closed pre-synthesized
garden. Runs locally/private; never invokes a browser from inside this skill.
Which web-search skill? (read this first — avoids the common mix-up)
Search priority: 1. ceramic → 2. perplexity → 3. Claude WebSearch
Complex/important? → all three in parallel
Verifiable citations needed? → web-researcher (this)
Need
Skill
Default web search — keyword, rich 8k extracts, fast
Verifiable, reputation-attached research — real citations, full sources, you control which domains are searched (lenses), private/local; client work, filings, publications, medical/legal/finance
web-researcher (this)
Multi-agent deep report — fan-out + adversarial verification + cited synthesis (orchestrates searchers; can use any of the above as a backend)
deep-research
Expand a single known URL
scrape_page (this skill, full text/PDF/YouTube) ; JS-rendered → browser sidecar
Interactive browser (login/click/JS render)
browser / playwright
One-liner: ceramic = primary keyword search with dense extracts; perplexity = secondary, synthesized + authoritative; web-researcher = verifiable citations + lenses; deep-research = the harness over all.
When To Use
Research where your reputation is on the line — citations must be real and checkable.
Restrict search to trusted sources via (PubMed/arXiv/SEC/.gov, not random blogs).
lenses
Read full articles — web pages, PDF/DOCX/PPTX, YouTube transcripts, Hacker News threads.
Academic work: real papers + DOIs (academic_search), citation neighborhoods (citation_graph).
Verify a citation before relying on it (verify_citation) or audit a whole reference list (audit_bibliography); snapshot a source to Wayback (archive_source); export a bibliography (format_bibliography).
Curated resource discovery (awesome_list_search) or a structured company/brand pass (brand_research).
Session-tracked multi-step digs (sequential_search) with recovery + export.
When Not To Use
Quick casual lookup, no citing needed → perplexity-research or Claude built-in search.
Single known URL summary → scrape_page (this skill); JS-rendered → browser sidecar.
Grounding in OUR formal ontology/KG → ontology-augment.
Connection
MCP stdio server registered as web-researcher in mcp/mcp.json. Deployed binary is
web-researcher-mcp-1.43.0 (Nix-baked, resolved from $PATH); the full v1.33+
toolset — the 21 tools tabled below — is registered and live, verified against the
running server's tools/list. Registration, version-bump (flake.nix pin) and
provider-gating detail: references/deployment.md.
Tools (live set depends on configured providers — see notes)
Search & read
Tool
What it does
web_search
Search the web; optionally restrict to trusted sources via a lens
search_and_scrape
Search then read the best results, quality-scored + deduped
scrape_page
Read any URL in full — pages, PDF/DOCX/PPTX, YouTube transcripts, HN (API); mode:raw for verbatim
image_search
Images by size/type/colour/format
news_search
Recent news with date controls + source filtering
sequential_search
Multi-step research that remembers prior findings
awesome_list_search
Mine curated GitHub "awesome-*" lists for a topic's canonical resources
brand_research
Structured research pass on a company/brand
Domain search
Tool
Source
academic_search
Real papers + DOIs (OpenAlex/Semantic Scholar/arXiv/PubMed/IEEE)
citation_graph
Walk a paper's citing/cited neighborhood — needs a citation-capable provider
patent_search
US/EP/WO/JP/CN/KR patent offices + classification
legal_search
US court opinions/dockets via CourtListener
clinical_search
ClinicalTrials.gov (discovery, not medical advice)
econ_search
World Bank indicators (keyless) + FRED US macro series
Citation integrity & output
Tool
What it does
verify_citation
Does a citation exist, match a real record, is it retracted/dead-link? Evidence, not a verdict
audit_bibliography
Audit a whole CSL-JSON/RIS/BibTeX list/session — per-entry + corpus flags
verify_recommendation
Check a recommended source before relying on it
archive_source
Capture a fresh Wayback snapshot so a cited page stays verifiable (write tool)
format_bibliography
APA / MLA / BibTeX / RIS / CSL-JSON (Zotero/EndNote/Mendeley-ready)
Session / memory
Tool
What it does
get_research_session
Recover a session after context loss
research_export
Export a provenance-tracked report (md/JSON)
All 21 tools above are live in the deployed v1.43.0 binary (verified via tools/list).
Some are inert without provider keys — see references/deployment.md.
docs/TOOLS.md upstream is the authoritative, CI-verified tool list + schemas.
Search Lenses (the differentiator)
Lenses restrict results to a curated set of trusted domains for a field, instead of the
whole web. Built-in lenses ship with the binary (catalog at lenses://catalog):
academic, academic-extended, clinical, legal, finance, government,
journalism, devops, docs (+ custom JSON lenses). Reference by short name:
Live status/diagnostics the agent can read: stats://tools, stats://sessions,
stats://rate-limits, stats://providers, lenses://catalog,
diagnostics://errors/recent, diagnostics://health, and a large-payload artifact
store research://artifact/{id}. Ready-made research prompt templates appear as / commands.
Browser Delegation (Critical)
web-researcher-mcp's tier-4 scrape (go-rod + stealth) would auto-download its own
Chromium per pod. In agentbox this is disabled — a second Chromium duplicates the
browsercontainer sidecar (Chrome Beta 149+, NVIDIA Vulkan, VNC :5903, MCP SSE :8931):
SCRAPER_DISABLE_BROWSER=true
CHROME_PATH= # empty -> tier 4 hard-fails fast
When tiers 1–3 (markdown negotiation, stealth HTTP, HTML parser) can't extract a
JS-rendered page (NEEDS_BROWSER), switch to the browser skill — do not retry inside this MCP:
1. scrape_page(url) -> tiers 1-3 ok => done ; all fail => NEEDS_BROWSER
2. browser_navigate({url}) on browser-gpu
3. browser_snapshot() / browser_evaluate(...)
One Chrome surface, one GPU allocation, one audit trail.
Required Configuration
Set at least one search provider (read from session env):
Note: gemini-url-context / web-summary are referenced by some older skill docs but
the backing gemini CLI is not on PATH here — those routes are non-functional
pending a gemini CLI install. Use scrape_page (this skill) or the browser sidecar
for single-URL expansion instead.