Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

web-retrieval-mcp

by VelvetSPversion 0.1.2i★ –iRuns on your computer
Registry nameio.github.VelvetSP/web-retrieval-mcp

Install

Overview

Description from the maker (original English)

MCP web search + tiered web fetch for AI agents (Exa, Firecrawl), SSRF-guarded, cross-platform.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory
  • You need to fill in: EXA_API_KEY, FIRECRAWL_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: EXA_API_KEY, FIRECRAWL_API_KEY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "web-retrieval": {
      "command": "uvx",
      "args": [
        "web-retrieval-mcp"
      ],
      "env": {
        "EXA_API_KEY": "your-value",
        "FIRECRAWL_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add web-retrieval --env EXA_API_KEY=your-value --env FIRECRAWL_API_KEY=your-value -- uvx web-retrieval-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "web-retrieval": {
      "command": "uvx",
      "args": [
        "web-retrieval-mcp"
      ],
      "env": {
        "EXA_API_KEY": "your-value",
        "FIRECRAWL_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "web-retrieval": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "web-retrieval-mcp"
      ],
      "env": {
        "EXA_API_KEY": "your-value",
        "FIRECRAWL_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • EXA_API_KEY secret required env
    Exa API key (free tier at https://exa.ai)
  • FIRECRAWL_API_KEY secret required env
    Firecrawl API key (free tier at https://firecrawl.dev)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account VelvetSP, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 5688 servers in this category
  • Published to the registry more recently than 16% of the other 5688 servers in this category
  • Basic checks equal to or better than 100% of the other 5688 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is web-retrieval-mcp safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: EXA_API_KEY, FIRECRAWL_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.2) reached the registry 5 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

by upstashWidely used↓ 972.7K/wk★ 64.2KUpdated 2 days ago

Computer or cloud

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

by DeusDataWidely used↓ 18K/wk★ 48.1KUpdated 22 days ago

Runs on your computer

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

by exa-labsGrowing★ 5.2KUpdated 2 months ago

Runs in the cloud✓ exa.ai

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

web-retrieval-mcp — reliable MCP web search and web fetch for AI agents

An open-source [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for source-grounded web research. Connect Codex CLI and the Codex IDE extension, Claude Code, Claude Desktop, Cursor, ChatGPT desktop, or any other compatible MCP client to six read-only tools for Exa or Tavily search, resilient Exa → Camoufox → Tavily → Firecrawl page retrieval, AI/ML paper discovery, and developer-source search—with explicit provenance, optional local caching, and SSRF guards.

[Why use it?](#why-use-web-retrieval-mcp) · [Quick start](#quick-start) · [Tools](#six-read-only-tools) · [Routing](#how-retrieval-works) · [Configuration](#configuration-reference) · [Security](#security-model) · [FAQ](#frequently-asked-questions)

Why use web-retrieval-mcp?

Web research is more reliable when an agent can see where every result came from, choose the right retrieval strategy, and recover when one provider or page-access method fails. web-retrieval-mcp makes those controls part of the tool contract:

  • Keep sources separate. Default search returns one block per result with its own title, URL, highlights, and text, followed by a Sources trailer. Exa deep modes additionally return a clearly labeled synthesized answer, with grounding when Exa provides it, before the source-separated result blocks.
  • Use more than one retrieval path. Search can use Exa or Tavily and fall back to Firecrawl. Full-page fetches can escalate from indexed content to a local Camoufox browser, optional Tavily Extract, and Firecrawl.
  • Know what actually served the answer. Fetch responses identify the serving tier, cache state, semantic mode, and truncation instead of hiding the route.
  • Ask for the right shape. Fetch a readable page body, a concise summary, or a grounded answer to a question. Control freshness, rendering, domains, dates, result count, and per-result text size.
  • Search specialist corpora. Discover AI/ML papers, inspect query-relevant full-text passages, expand to related papers, and search developer documentation, READMEs, issues, and merged pull requests.
  • Own the deployment boundary. Run locally over stdio or host a loopback HTTP service; select providers and secret storage yourself; optionally cache completed fetches in a private Valkey sidecar.
  • Fail explicitly. Unsupported provider choices, missing optional packages, and unavailable credentials fail in the tool result. Tavily mappings, Firecrawl fallback filter gaps, and Exa category migrations are caller-visible; other Exa filter drops are written to server diagnostics.
How it compares with built-in agent web tools

Built-in capabilities vary by agent and can improve over time. The useful comparison is therefore not “all defaults are bad”; it is whether you need a portable, inspectable retrieval layer with controls your current client does not expose.

NeedTypical bundled search/fetch surfaceweb-retrieval-mcp
Search outputClient-defined result or synthesis formatDefault search returns source-separated blocks plus Sources; Exa deep modes add a labeled synthesis
Backend choiceProvider and routing are usually managed by the clientExa or Tavily search, with a disclosed Firecrawl fallback
Difficult pagesOne client-specific access pathIndexed content, guarded local browser rendering, Tavily Extract, and Firecrawl tiers
Retrieval intentUsually search or page textFull body, concise summary, or query-grounded page answer
Research discoveryGeneral web indexDedicated paper and developer-source tools in addition to web search
Freshness and filtersWhatever the client exposesDate windows, hour-level recency, domains, categories, result limits, and forced freshness
AuditabilityClient-specificFetch tier/cache/truncation disclosures; Tavily and Firecrawl search-fallback labels; explicit filter notices where supported
OperationsClient-defined; often hosted or opaqueLocal stdio or self-hosted loopback HTTP, optional private UDS cache
Security policyClient-specificInitial URL validation plus guarded browser requests and redirects

Use it as an independent complementary retrieval lane by default. If you want it to replace Claude Code's built-in WebSearch and WebFetch, the package also includes an optional, previewable hook installer.

Quick start

Python 3.10 or newer is required.

1. Install

For the complete feature set in an isolated environment:

pipx install --include-deps 'web-retrieval-mcp[all]'

camoufox fetch

--include-deps exposes Camoufox's own command from the isolated pipx environment; the second command downloads its managed browser. If you do not want local rendering, install the base package or selected non-render extras and skip the browser download.

For a lean Exa + Firecrawl installation:

pipx install web-retrieval-mcp

With uv installed, you can run the base package in a temporary isolated environment without a permanent install:

uvx web-retrieval-mcp

Or install into an existing virtual environment:

python -m pip install 'web-retrieval-mcp[all]'

python -m camoufox fetch

The browser download is required whenever you install the render extra and want Camoufox to serve render="auto" or render="always" calls.

Optional extras are composable:

ExtraAdds
tavilyTavily Search and Tavily Extract
renderLocal Camoufox/Playwright rendering
cacheValkey client for completed-result caching
keyringCross-platform native secret-store access
allEvery optional runtime capability above
2. Add provider credentials

For the broadest routing coverage, configure Exa and Firecrawl; add Tavily when you want provider-selectable search or another full-body fetch tier.

export EXA_API_KEY='<your-exa-api-key>'

export FIRECRAWL_API_KEY=' ' export TAVILY_API_KEY=' ' # optional

You do not need all three keys to start the server. Tools resolve credentials lazily and report what a selected route is missing. See Credential storage for a key file and OS secret-store alternatives.

All three providers advertised no-card entry allocations when checked on 2026-09-01; plans and unit costs can change, so check their live pricing before estimating a workload:

ProviderEntry allocation checked 2026-09-01Used for
Exa$20 signup credit plus $10 monthly API creditsDefault web search and first indexed-content fetch tier
Firecrawl1,000 credits per monthSearch/fetch fallback and research/developer indexes
Tavily1,000 API credits per monthOptional search provider and full-body extract tier
CamoufoxLocal open-source browserJavaScript-rendered page retrieval on your machine
3. Connect an MCP client

Codex CLI and the Codex IDE extension share MCP configuration. Add the server with the CLI, then verify it is registered:

codex mcp add web-retrieval -- web-retrieval-mcp

codex mcp list

With uvx and no prior install:

codex mcp add web-retrieval -- uvx web-retrieval-mcp

See OpenAI's Codex MCP documentation for the current CLI, IDE, and configuration-file details.

Claude Code:

claude mcp add web-retrieval -- web-retrieval-mcp

With uvx and no prior install:

claude mcp add web-retrieval -- uvx web-retrieval-mcp

Claude Desktop, Cursor, and other clients that accept an mcpServers object can use:

{

"mcpServers": { "web-retrieval": { "command": "web-retrieval-mcp" } } }

That configuration assumes the executable is on the client's PATH. For an uvx launch, use "command": "uvx" and "args": ["web-retrieval-mcp"]. If a desktop client does not inherit your shell environment, use the private key file described below or place literal key values in the client's protected environment configuration. Do not rely on ${VARIABLE} interpolation unless your client documents that behavior.

ChatGPT desktop and clients with different setup surfaces can connect through the MCP transport their current version supports. This server uses stdio by default and can also expose Streamable HTTP; consult the client's documentation for its configuration format and supported transports.

4. Give the agent a real task

Once the MCP server is connected, prompts can stay natural:

Search the web for the latest primary documentation about Python package metadata.

Keep each source separate and preserve its URL.

Fetch https://example.com/report, force a fresh retrieval, and answer only: What methodology did the authors use?

Find AI/ML papers about retrieval reranking, inspect the strongest paper for its reported benchmark result, then find newer work that cites it.

Search merged pull requests and documentation for the origin of this exact error: "transport closed".

Six read-only tools

All tools carry MCP's read-only annotation. MCP clients receive the complete generated input schema and descriptions when they connect.

ToolCompact signatureBest for
web_searchweb_search(query, num_results=8, mode="auto", …, provider=None)General web search through Exa or Tavily, with source-separated results and Firecrawl fallback
web_fetchweb_fetch(url, render="auto", max_chars=None, max_age_hours=None, mode="full", question=None, tavily=None)Readable page bodies, concise summaries, or grounded answers through a tiered fetch cascade
research_papersresearch_papers(query, k=8)Ranked AI/ML paper discovery through Firecrawl's Research Index
research_paperresearch_paper(paper_id, query=None)Paper metadata and optional query-relevant full-text passages for claim verification
research_similarresearch_similar(paper_id, intent, k=8, mode="similar", …)Related papers, citers, or references guided by a natural-language intent
research_githubresearch_github(query, k=8, passages=2, types=None, repos=None)Developer documentation, repository READMEs, issues, and merged pull requests

web_search supports relevance or date-oriented filters, domain inclusion/exclusion, publication windows, generated per-result summaries, and Exa's fast/deep search modes. Tavily receives equivalent controls where its API supports them; approximations and dropped controls are disclosed in the output.

The research-paper index is arXiv-oriented and best suited to AI/ML. For scholarly work outside that scope, use web_search(category="publication").

How retrieval works

Search routing

Exa is the default search provider. Select Tavily for one call with provider="tavily", or globally:

export WEB_SEARCH_PROVIDER=tavily

Only exa and tavily are accepted. If the

Only the beginning is shown; read the rest in the repo

Ask PopNx