
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.
Tools
web_search
Search the web with Tavily, Brave, Kagi, Exa, or Kagi Enrichment.
{
"query": "sveltekit remote functions site:docs.svelte.dev",
"provider": "brave",
"limit": 10
}
ai_search
Get sourced AI answers with Kagi FastGPT, Exa Answer, or Linkup.
{
"query": "Explain the differences between REST and GraphQL",
"provider": "kagi_fastgpt"
}
github_search
Search GitHub code, repositories, or users.
{
"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.
{
"url": "https://example.com/long-article",
"provider": "kagi",
"mode": "summarize"
}
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, Docker, cloud, and Firecrawl setup.
-
Troubleshooting β keys, access, validation, rate limits, and common failures.
Environment variables
-
TAVILY_API_KEY -
KAGI_API_KEY -
BRAVE_API_KEY -
GITHUB_API_KEY -
EXA_API_KEY -
LINKUP_API_KEY -
FIRECRAWL_API_KEY -
FIRECRAWL_BASE_URLoptional, for self-hosted Firecrawl -
OMNISEARCH_LARGE_RESULT_MODEoptional,filedefault orinline
Development
pnpm 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.
pnpm install
pnpm run build
node ./dist/index.jsBefore it works, you'll need: TAVILY_API_KEYKAGI_API_KEYBRAVE_API_KEYGITHUB_API_KEYEXA_API_KEYLINKUP_API_KEY
Quick start
pnpm install
pnpm run build
node ./dist/index.js
Configure the server in your MCP client with whichever provider keys you have. Providers without keys are skipped and the rest keep working.
{
"mcpServers": {
"mcp-omnisearch": {
"command": "node",
"args": ["/path/to/mcp-omnisearch/dist/index.js"],
"env": {
"TAVILY_API_KEY": "your-tavily-key",
"KAGI_API_KEY": "your-kagi-key",
"BRAVE_API_KEY": "your-brave-key",
"GITHUB_API_KEY": "your-github-token",
"EXA_API_KEY": "your-exa-key",
"LINKUP_API_KEY": "your-linkup-key",
"FIRECRAWL_API_KEY": "your-firecrawl-key"
}
}
}
}
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.