web-retrieval-mcp v0.2.0 is the first self-contained public release of the current retrieval stack: six read-only MCP tools for source-grounded web search, resilient page fetch, AI and ML paper discovery, and developer-source research.
Highlights
- Select Exa or Tavily for web search, with caller-visible provider routing and Firecrawl fallback provenance.
- Fetch through an adaptive Exa → guarded Camoufox → optional Tavily Extract → Firecrawl cascade.
- Request full page text, concise summaries, or grounded answers with freshness and size controls.
- Configure Exa, Firecrawl, and Tavily credentials through environment variables, a private key file, keyring, macOS Keychain, or Linux Secret Service.
- Install a lean base package or opt into rendering, Tavily, Valkey caching, keyring, or the complete feature set.
- Run over stdio or loopback Streamable HTTP.
- Connect from Codex CLI and the Codex IDE extension, Claude Code, Claude Desktop, Cursor, ChatGPT desktop, or another compatible MCP client using a transport supported by that client.
- Keep explicit source, cache, truncation, and routing disclosures plus fail-closed initial URL and browser redirect SSRF checks.
Tavily contributions
Tavily Search PR #7 and Tavily Extract PR #8 were opened against the former v0.1.2 tree. Version 0.2.0 already contained independently implemented, stricter versions of both capabilities, so the PRs were transparently merged with an ours conflict resolution: their commits remain in history for attribution, while their older conflicting file trees did not replace the reviewed 0.2.0 snapshot. Thank you to @tavily-integrations for proposing both integrations.
Install from this GitHub release
Python 3.10 or newer is required.
python -m pip install "web-retrieval-mcp[all] @ https://github.com/VelvetSP/web-retrieval-mcp/releases/download/v0.2.0/web_retrieval_mcp-0.2.0-py3-none-any.whl"
python -m camoufox fetchThen configure one or more provider credentials:
export EXA_API_KEY="<your-exa-api-key>"
export FIRECRAWL_API_KEY="<your-firecrawl-api-key>"
export TAVILY_API_KEY="<your-tavily-api-key>"This operation publishes a GitHub release and attached package artifacts only. It does not publish v0.2.0 to PyPI or the MCP Registry.
Verification
- Release commit:
adfed87157a3e011141ad42447d23698a473237f - Reviewed tree:
b67ed2baf1686f523b83577c504c8b620d044901 - GitHub Actions CI: Python 3.10, 3.11, 3.12, and 3.13 base installs plus the complete public release gate passed.
- Local
./run-tests.sh, wheel and sdist metadata validation, clean installed-wheel acceptance, secret scan, and package inventory all passed.
SHA-256
34cb36ef6c1adcdefc74a4ecde6e459f84a33633bc61c6474608151408be9bca web_retrieval_mcp-0.2.0-py3-none-any.whl
42d81fd214268da2f385c171ab55c0265cea815c959ef6c94dc3a6b6a8f6e448 web_retrieval_mcp-0.2.0.tar.gz
See the README for client setup, routing, configuration, security, caching, and examples.