mcp-omnisearch
A Model Context Protocol (MCP) server that provides unified access to Tavily, Brave, Kagi, Exa AI, GitHub, Linkup, and Firecrawl through four consolidated tools.
Quick start
Install the published server with MCPick:
bashnpx mcpick add \ --name mcp-omnisearch \ --command npx \ --args=-y,mcp-omnisearch
MCPick defaults to Claude Code. Use --client and --scope to target
another client or add the server to the current repository:
bashnpx mcpick add \ --name mcp-omnisearch \ --command npx \ --args=-y,mcp-omnisearch \ --client vscode \ --scope project
See Deployment for supported clients and provider credential storage options.
To run from source instead:
bashpnpm install pnpm run build node ./dist/index.js
Providers without keys are skipped and the rest keep working. If your client supports environment-variable expansion, reference keys instead of storing their values in the MCP configuration:
json{ "mcpServers": { "mcp-omnisearch": { "command": "npx", "args": ["-y", "mcp-omnisearch"], "env": { "TAVILY_API_KEY": "${TAVILY_API_KEY}", "EXA_API_KEY": "${EXA_API_KEY}" } } } }
Add only the provider keys you use. Expansion syntax and secret storage are client-specific; see Deployment for secure options and plaintext fallback guidance.
Tools
web_search
Search the web with Tavily, Brave, Kagi, Exa, or Kagi Enrichment.
json{ "query": "latest SvelteKit releases", "provider": "tavily", "limit": 10, "search_depth": "advanced", "topic": "news", "time_range": "month", "safe_search": true, "include_raw_content": false, "auto_parameters": false }
Search controls apply when supported by the selected provider.
ai_search
Get sourced AI answers with Kagi FastGPT, Exa Answer, Linkup, or
Tavily Research. Tavily Research returns a task ID first; pass it back
as research_id to retrieve the report.
json{ "query": "Explain the differences between REST and GraphQL", "provider": "kagi_fastgpt" }
github_search
Search GitHub code, repositories, or users.
json{ "query": "filename:remote.ts @sveltejs/kit", "search_type": "code", "limit": 5 }
web_extract
Extract, crawl, scrape, summarize, or find similar content with Tavily, Kagi, Firecrawl, or Exa.
json{ "url": "https://example.com/long-article", "provider": "tavily", "mode": "extract", "extract_depth": "advanced", "query": "installation requirements", "chunks_per_source": 3, "format": "markdown" }
Documentation
- Provider selection — choose providers by task, key, mode, and capability.
- Search operators — operator support matrix and tested examples.
- Large results — inline vs file response behavior and remote deployment caveats.
- Deployment — MCP client, WSL, and Firecrawl setup.
- Troubleshooting — keys, access, validation, rate limits, and common failures.
Environment variables
TAVILY_API_KEYKAGI_API_KEYBRAVE_API_KEYGITHUB_API_KEYEXA_API_KEYLINKUP_API_KEYFIRECRAWL_API_KEYFIRECRAWL_BASE_URLoptional, for self-hosted FirecrawlOMNISEARCH_LARGE_RESULT_MODEoptional,filedefault orinline
Development
bashpnpm install pnpm run build pnpm test
Please read CONTRIBUTING.md before opening a PR.
License
MIT License - see LICENSE.
Acknowledgments
Built on Model Context Protocol, Tavily, Kagi, Brave Search, Exa AI, Linkup, and Firecrawl.



