← Back to directory
O

Omnisearch MCP Server

Community
Unified access to multiple search engines, AI answers, and content extraction through one interface
GitHub source repository ↗
★ 349 Stars Category · Dev Tools Very popular
60FMRS · C

This is a community-maintained (non-official) MCP server that consolidates several search, AI answer, and content extraction services into four tools. It suits developers who already have relevant API keys and want one configuration for many retrieval capabilities. It depends on third-party services and keys, carries data-exposure and rate-limit risks, and providers without keys are unavailable.

Reliability
10/20
Security and permissions
10/20
Maintenance
12/20
Documentation
15/20
Setup experience
13/20
Read the FMRS scoring method →

Omnisearch MCP Server is a Model Context Protocol (MCP) server that gives LLMs unified access to Tavily, Brave, Kagi, Exa AI, GitHub, Linkup, and Firecrawl through four consolidated tools. It supports web search, sourced AI answers, GitHub code/repository/user search, and content extraction, crawling, scraping, summarizing, and similar-content lookup. Providers without keys are skipped and the rest keep working. The server runs over stdio, can be installed via npx (for example with MCPick), and can also be built and run from source under the MIT license.

Tools

web_search
Search the web with Tavily, Brave, Kagi, Exa, or Kagi Enrichment, with options such as limit, search_depth, topic, time_range, safe_search, include_raw_content, and auto_parameters (applied 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 that must be passed back as research_id to retrieve the report.
github_search
Search GitHub code, repositories, or users, with search_type and limit options.
web_extract
Extract, crawl, scrape, summarize, or find similar content with Tavily, Kagi, Firecrawl, or Exa, with options such as mode, extract_depth, query, chunks_per_source, and format.

Setup

Option 1 (MCPick): run npx mcpick add --name mcp-omnisearch --command npx --args=-y,mcp-omnisearch, which defaults to Claude Code; use --client and --scope to target another client or the current repository. Option 2 (from source): pnpm install && pnpm run build, then run node ./dist/index.js. Option 3 (manual config): in your MCP client config set mcp-omnisearch with command node, args pointing to dist/index.js, and env containing any of TAVILY_API_KEY, KAGI_API_KEY, BRAVE_API_KEY, GITHUB_API_KEY, EXA_API_KEY, LINKUP_API_KEY, FIRECRAWL_API_KEY, plus optional FIRECRAWL_BASE_URL and OMNISEARCH_LARGE_RESULT_MODE.

claude_desktop_config.json
{
  "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"
      }
    }
  }
}

Fit and risk

Best for

  • Developers who want multiple search and extraction providers behind a single configuration
  • MCP client users who want to choose providers per task
  • Coding assistant scenarios needing GitHub search and web content extraction

Not for

  • Users unwilling to supply any third-party search or extraction API keys
  • Scenarios requiring official support from the upstream product owner
  • Environments that cannot run Node.js or npx

Required permissions

  • Read provider API keys from environment variables (TAVILY_API_KEY, KAGI_API_KEY, BRAVE_API_KEY, GITHUB_API_KEY, EXA_API_KEY, LINKUP_API_KEY, FIRECRAWL_API_KEY)
  • Network access to provider APIs and target web pages
  • Write large-result files when file mode is used

Risks and side effects

  • Queries and target URLs are sent to third-party services, which may raise data exposure or privacy concerns
  • API keys are stored as environment variables and may leak if misconfigured
  • Providers differ in usage, quotas, and rate limits, so calls may fail on throttling or insufficient access
  • Providers without keys are unavailable
  • The docs note caveats around large-result file mode and remote deployment

Troubleshooting

  1. Verify that the relevant provider API key is set in env; providers without keys are skipped
  2. Check that keys are valid and have the required access
  3. Check for rate limits when requests fail
  4. For self-hosted Firecrawl, set FIRECRAWL_BASE_URL
  5. Consult docs/troubleshooting.md and docs/deployment.md for common issues involving keys, access, validation, and rate limits

Use cases

Let an LLM run web searches across multiple engines through one interface
Obtain AI answers with source citations
Search GitHub code, repositories, and users
Extract, crawl, or summarize web content and find similar content

Supported clients

Claude CodeFull support
VS CodeFull support