mcp-omnisearch
@spences10
🔍 A Model Context Protocol (MCP) server providing unified access to multiple search engines (Tavily, Brave, Kagi, Exa), AI tools (Kagi FastGPT, Exa, Linkup), and content extraction services (Firecrawl, Tavily, Kagi). Includes GitHub search. All through a single interface.
Overview
What is mcp-omnisearch?
mcp-omnisearch is a Model Context Protocol (MCP) server that unifies access to seven providers (Tavily, Brave, Kagi, Exa AI, GitHub, Linkup, and Firecrawl) through four consolidated tools. It is designed for developers using MCP clients who want a single interface for web search, AI answers, GitHub search, and web extraction from multiple backends.
How to use mcp-omnisearch?
Install dependencies with pnpm install, build the project with pnpm run build, and run the server with node ./dist/index.js. Configure the server in your MCP client by setting environment variables for the API keys you have (e.g., TAVILY_API_KEY, BRAVE_API_KEY). Providers without keys are automatically skipped; all others continue to work.
Key features of mcp-omnisearch
- Four tools:
web_search,ai_search,github_search,web_extract - Supports Tavily, Brave, Kagi, Exa AI, GitHub, Linkup, and Firecrawl
- Providers with missing API keys are gracefully skipped
- Web extraction supports crawling, scraping, summarizing, and similarity search
- AI search provides sourced answers via Kagi FastGPT, Exa Answer, or Linkup
- Configurable large‑result mode (file vs inline) via environment variable
Use cases of mcp-omnisearch
- Search the web using multiple search engines from a single MCP server
- Get AI‑generated, sourced answers for complex questions
- Search GitHub code, repositories, or users programmatically
- Extract, crawl, scrape, or summarize web content from a URL
FAQ from mcp-omnisearch
What providers does mcp-omnisearch support?
It supports Tavily, Brave, Kagi, Exa AI, GitHub, Linkup, and Firecrawl. You can use any subset by providing the corresponding API keys.
How do I configure API keys?
Set environment variables in your MCP client configuration. Keys accepted: TAVILY_API_KEY, KAGI_API_KEY, BRAVE_API_KEY, GITHUB_API_KEY, EXA_API_KEY, LINKUP_API_KEY, FIRECRAWL_API_KEY. Optionally, FIRECRAWL_BASE_URL for a self‑hosted Firecrawl instance.
What tools are available?
The server exposes four tools: web_search (web search with Tavily, Brave, Kagi, Exa, or Kagi Enrichment), ai_search (sourced AI answers), github_search (GitHub code, repos, users), and web_extract (extract, crawl, scrape, summarize, or find similar content).
How are large results handled?
By default, large results are saved to a file and a file reference is returned. You can change this to inline mode by setting the OMNISEARCH_LARGE_RESULT_MODE environment variable to inline.
What are the runtime requirements?
The server runs on Node.js and is invoked via a MCP client using standard I/O (stdio). It does not require a separate HTTP server.