Exact-operator work like filetype:pdf belongs on Brave or Kagi; "find me things that mean roughly this" belongs on Exa; a cited answer belongs on Kagi FastGPT or Linkup. Running seven servers to get that choice is not worth it, and picking one provider forever gives up the difference. Registering only the keyed providers is the design decision that makes this practical — you can start with the one subscription you already pay for and add the rest later without changing anything.
One MCP server in front of Tavily, Brave, Kagi, Exa, GitHub, Linkup and Firecrawl. It registers only the providers whose keys you configured and skips the rest, so you get a working server without signing up for all seven — and the model picks a provider per call instead of you picking one per server.
- web_search — Tavily, Brave, Kagi, Exa or Kagi Enrichment, with depth, topic, time range, safe search and domain filters applied where the provider supports them
- ai_search — a sourced answer rather than a result list, from Kagi FastGPT, Exa Answer, Linkup or Tavily Research; Tavily returns a task id you pass back as research_id to collect the report
- github_search — code, repositories or users, with GitHub qualifiers such as filename:, path:, repo:, user:, language: and in:file
- web_extract — extract, crawl, map, scrape, summarize, fetch contents or find similar pages, through Tavily, Kagi, Firecrawl or Exa
- Operator handling differs by provider and the server translates for you: Brave merges include_domains and exclude_domains into site: and -site: clauses, Tavily converts them into API fields, and Kagi maps filetype: and before:/after: onto request parameters
- Kagi's summarize mode covers pages, videos and podcasts; Firecrawl adds structured extraction and browser actions
At least one provider key, supplied through the environment: TAVILY_API_KEY, BRAVE_API_KEY, KAGI_API_KEY, EXA_API_KEY, GITHUB_API_KEY, LINKUP_API_KEY or FIRECRAWL_API_KEY. Providers without a key are skipped and everything else keeps working. Install with npx -y mcp-omnisearch, or build from source with pnpm and run the built entry point. Each provider bills you directly under its own plan.
One command plus a key — npx mcpick add --name mcp-omnisearch --command npx --args=-y,mcp-omnisearch, then supply credentials
