mcp-retriever

io.github.keiranhaaxv0.0.24Updated Oct 8, 2026

One MCP server for web search, page extraction, and cited research.

Overview

AI-generated overview

Lets an assistant run web searches across multiple providers, extract and crawl pages, and return cited research results.

What it does
Combines two or three search providers into one fused ranking with deduplicated URLs via web_search_fused, and returns per-provider status when one fails. Extracts page content, crawls sites, and can recover 404 or 410 pages from Wayback Machine snapshots when archive fallback is enabled. Optional spending caps, cooldowns, and paged access to large results help control usage.
When to use it
Use it when an assistant needs web search and page reading with citations, or when you want to query several search providers at once and merge their rankings. It suits research and retrieval workflows where provider keys should stay out of client configuration files.
Requirements
Runs locally over stdio and requires Node.js 22 or newer. Needs at least one provider key (Tavily, Brave, Exa, You.com, GitHub, Linkup, Firecrawl, or Context.dev) or your own SearXNG instance. Keys are stored in a credentials file rather than client configs; restart the client after setup.
Before you install
Provider keys are stored in a local credentials file and billable key checks require consent. Spending caps rely on provider-reported usage, not estimated costs, so they may not bound actual spend. Each server instance shares one trust boundary, so its result store should not be used for mutually untrusted clients. Searches and page fetches send queries and URLs to third-party providers.

Installation

In SourceWeft

  1. Open mcp-retriever in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-retriever

One MCP server for web search, page extraction, and cited research. Use your own providers, combine their results, and keep API keys out of client configs.

  • Search together: query two or three providers, deduplicate URLs, and merge rankings with web_search_fused.
  • Read more: extract pages, crawl sites, and recover 404/410 pages from Wayback Machine snapshots when archive fallback is enabled.
  • Control usage: optional spending caps for provider-reported usage, cooldowns, and paged access to large results.

Supports Tavily, Brave, Exa, You.com, SearXNG, GitHub, Linkup, Firecrawl, and Context.dev. Configure only what you use.

Quickstart

Requires Node.js 22+ and a provider key, or your own SearXNG instance.

bash
npx -y mcp-retriever setup

Choose providers, save keys privately, and connect your MCP client. The wizard writes Claude Desktop and Cursor entries, or shows the command/configuration for Claude Code and Codex. Billable key checks require consent.

[Setup wizard and provider selection]

Keys are stored in ~/.config/mcp-retriever/credentials.env, not in client configs. Restart your client after setup.

Client connection and key management

[Connecting MCP clients]

Add, test, or remove keys:

bash
npx mcp-retriever keys

[Key management menu]

Screenshots show a demo session with fixture credentials and a mocked key-check response, not a live provider validation.

Example

Call web_search_fused with two configured search providers:

json
{	"query": "reciprocal rank fusion hybrid search",	"providers": ["brave", "exa"],	"limit": 3}

Results include source providers and merged rankings. If a provider fails, available results are returned with per-provider status.

Documentation

Each server instance shares one trust boundary. Do not use its result store for mutually untrusted clients. Spending caps depend on provider-reported usage, not estimated costs.

License and origins

MIT. Formerly named mcp-omnisearch; a maintained fork of Scott Spence's mcp-omnisearch. When upgrading this fork, rename OMNISEARCH_* settings to RETRIEVER_*, omnisearch:// resources to retriever://, and _meta.omnisearch to _meta.retriever. Preserve the old result store and spending ledger when moving to ~/.cache/mcp-retriever/results; Docker/MCPO clients must also change /omnisearch to /retriever.

Source: README.md at commit e0fd4d6

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.0.24LatestOct 8, 2026