One MCP server for web search, page extraction, and cited research.
Runs on your machine from its package; the steps are below.

Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y mcp-retriever
MCP client config
{
"mcpServers": {
"mcp-retriever": {
"command": "npx",
"args": [
"-y",
"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.
web_search_fused.Supports Tavily, Brave, Exa, You.com, SearXNG, GitHub, Linkup, Firecrawl, and Context.dev. Configure only what you use.
Requires Node.js 22+ and a provider key, or your own SearXNG instance.
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.

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

Add, test, or remove keys:
npx mcp-retriever keys

Screenshots show a demo session with fixture credentials and a mocked key-check response, not a live provider validation.
Call web_search_fused with two configured search providers:
{
"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.
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.
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.