Main
- Start with one provider key enabled, then add more to avoid debugging multiple failures at once.
- Keep provider keys scoped and rotate them; treat search/extraction as an external dependency with quotas and costs.
- Add a thin policy layer in your agent: which providers are allowed for which task types and domains.
README excerpt (source)
# mcp-omnisearch
[](https://viteplus.dev)
[](https://vitest.dev)
A Model Context Protocol (MCP) server that provides unified access to
multiple search providers and AI tools. This server combines the
capabilities of Tavily, Brave, Kagi, Exa AI, GitHub, Linkup, and
Firecrawl to offer comprehensive search, AI responses, and content
processing through four consolidated tools.
<a href="https://glama.ai/mcp/servers/gz5wgmptd8">
<img width="380" height="200" src="https://glama.ai/mcp/servers/gz5wgmptd8/badge" alt="Glama badge" />
</a>
## Features
### 🔍 `web_search` — Web Search
Search the web for information. Providers: tavily (factual/citations),
brave (privacy/operators), kagi (quality/operators), exa
(AI-semantic), kagi_enrichment (specialized indexes).
Parameters:
- `query` (string, required): Search query
- `provider` (string, required): `tavily`, `brave`, `kagi`, `exa`, or
`kagi_enrichment`
- `limit` (number, optional): Maximum number of results (default: 10)FAQ
Q: Do I need all providers configured? A: No—enable only the providers you have keys for; the config is env-driven.
Q: Where does it run?
A: Your MCP client runs the Node entrypoint pointing at dist/index.js after build.
Q: How do I keep results consistent? A: Prefer a primary provider per task type and log which provider served each answer.