mcp-omnisearch

MCP.Pizza Chef: spences10

One install covers several search services at once: an ordinary web search, a sourced answer to a plain question, a lookup across public GitHub code and projects, and a fetcher that turns a cluttered page into clean readable text or a short summary. You supply whichever provider keys you already have, and any provider you skip is simply left out while the rest keep working. Most of those services charge for use.

Web/Research
Writing

Use This MCP server To

Search the web and get sources I can click through Turn a long article into a short summary Get an answer with citations instead of ten blue links Find code examples across public GitHub projects Pull the readable text out of a cluttered page Compare what two search engines say about the same question

README

mcp-omnisearch

built with vite+ tested with vitest

A Model Context Protocol (MCP) server that provides unified access to Tavily, Brave, Kagi, Exa AI, GitHub, Linkup, and Firecrawl through four consolidated tools.

Glama badge

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"
			}
		}
	}
}

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_URL optional, for self-hosted Firecrawl
  • OMNISEARCH_LARGE_RESULT_MODE optional, file default or inline

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.

mcp-omnisearch FAQ

Is this still maintained?
Yes, very actively — the most recent commits landed in August 2026.
Do I need a key?
At least one. It accepts keys for Tavily, Brave, Kagi, Exa, Linkup, Firecrawl, and GitHub, and quietly skips any provider you have not set up.
Is it free?
The software is free, the search services generally are not. Several sell credits and a few offer a small free allowance, so check each one before you rely on it.
Can I use this to research a topic and get real sources?
Yes — that is its main job. You can ask for a search, a sourced answer, or a summary of one specific page.
Which apps does it work in?
Any assistant that can start a local MCP server; you point its config at the file you built.
How hard is setup?
It expects some comfort with a terminal: install the dependencies and build it once, then paste a config block holding your keys.