MCP HubMCP Hub
spences10

mcp-omnisearch

by: spences10

๐Ÿ” A Model Context Protocol (MCP) server providing unified access to multiple search engines (Tavily, Brave, Kagi), AI tools (Perplexity, FastGPT), and content processing services (Jina AI, Kagi). Combines search, AI responses, content processing, and enhancement features through a single interface.

27created 08/03/2025
Visit
search
AI

๐Ÿ“ŒOverview

Purpose: To provide a unified server for accessing multiple search providers and AI tools through a single interface, enhancing search and content processing capabilities.

Overview: MCP Omnisearch integrates various AI and search capabilities, combining functionalities from providers like Tavily, Perplexity, Kagi, Jina AI, Brave, and Firecrawl. This offers users a streamlined experience for search, AI response generation, content processing, and enhancement.

Key Features:

  • Comprehensive Search Tools: Access to multiple search engines such as Tavily for fact-based queries, Brave for privacy-focused results, and Kagi for high-quality searches with less advertisement influence.

  • AI Response Generation: Features like Perplexity AI for advanced responses and Kagi FastGPT for quick, citation-based answers improve the efficiency of obtaining information.

  • Robust Content Processing: Tools like Jina AI Reader for content extraction, Firecrawl for web crawling and scraping, and Kagi Universal Summarizer for summarizing various media ensure effective handling of information.

  • Enhancement Tools: Integrate supplementary content and real-time fact verification through the Kagi Enrichment API and Jina AI Grounding for accurate information validation.


mcp-omnisearch

A Model Context Protocol (MCP) server that provides unified access to multiple search providers and AI tools. It combines capabilities from Tavily, Perplexity, Kagi, Jina AI, Brave, and Firecrawl to offer comprehensive search, AI responses, content processing, and enhancement features through a single interface.

Features

Search Tools

  • Tavily Search: Optimized for factual information with strong citation support. Supports domain filtering through API parameters.
  • Brave Search: Privacy-focused search with good technical content coverage, supporting native search operators.
  • Kagi Search: High-quality search results with minimal advertising, focused on authoritative sources, supporting search operators.

Search Operators

MCP Omnisearch supports powerful query operators and parameters:

  • Domain filtering (site: and -site: for Brave & Kagi; API params for Tavily)
  • File type filtering (filetype:)
  • Title and URL filtering (intitle:, inurl:)
  • Date filtering (before:, after:)
  • Exact phrase matching ("phrase")

Example usage:

// Brave or Kagi with query string
{
  "query": "filetype:pdf site:microsoft.com typescript guide"
}

// Tavily with API parameters
{
  "query": "typescript guide",
  "include_domains": ["microsoft.com"],
  "exclude_domains": ["github.com"]
}

AI Response Tools

  • Perplexity AI: Advanced response generation combining real-time web search with GPT-4 Omni and Claude 3.
  • Kagi FastGPT: Quick AI-generated answers with citations.

Content Processing Tools

  • Jina AI Reader: Clean content extraction with image captioning and PDF support.
  • Kagi Universal Summarizer: Summarizes pages, videos, and podcasts.
  • Tavily Extract: Raw content extraction from web pages with configurable depth.
  • Firecrawl Scrape: Extracts LLM-ready data from URLs with enhanced formatting.
  • Firecrawl Crawl: Deep crawling of accessible subpages with depth limits.
  • Firecrawl Map: Fast URL collection for site mapping.
  • Firecrawl Extract: Structured data extraction using AI.
  • Firecrawl Actions: Page interactions before extraction for dynamic content.

Enhancement Tools

  • Kagi Enrichment API: Provides supplementary content from specialized sources.
  • Jina AI Grounding: Real-time fact verification against web knowledge.

Flexible API Key Requirements

MCP Omnisearch works with whichever API keys you have; you donโ€™t need to provide keys for all providers. The server automatically detects available API keys and enables corresponding providers.

Configuration

Configure your MCP client with appropriate commands, environment variables, and API keys.

Environment Variables

  • TAVILY_API_KEY: Tavily Search
  • PERPLEXITY_API_KEY: Perplexity AI
  • KAGI_API_KEY: Kagi services
  • JINA_AI_API_KEY: Jina AI services
  • BRAVE_API_KEY: Brave Search
  • FIRECRAWL_API_KEY: Firecrawl services

Add only the keys for providers you intend to use.

API Overview

Search Tools

  • search_tavily
    Search using Tavily API for factual content.
    Parameters: query (string)
    Example:

    { "query": "latest developments in quantum computing" }
    
  • search_brave
    Privacy-focused search with technical content coverage.
    Parameters: query (string)
    Example:

    { "query": "rust programming language features" }
    
  • search_kagi
    Authoritative search results with minimal ads.
    Parameters: query (string), language (optional), no_cache (optional)
    Example:

    { "query": "latest research in machine learning", "language": "en" }
    

AI Response Tools

  • ai_perplexity
    AI response with real-time web search.
    Parameters: query (string)
    Example:

    { "query": "Explain the differences between REST and GraphQL" }
    
  • ai_kagi_fastgpt
    Quick AI answers with citations.
    Parameters: query (string)
    Example:

    { "query": "What are the main features of TypeScript?" }
    

Content Processing Tools

  • process_jina_reader
    Extracts clean, LLM-friendly text from URLs.
    Parameters: url (string)
    Example:

    { "url": "https://example.com/article" }
    
  • process_kagi_summarizer
    Summarizes content from URLs.
    Parameters: url (string)
    Example:

    { "url": "https://example.com/long-article" }
    
  • process_tavily_extract
    Extract raw content from one or multiple web pages.
    Parameters: url (string|string[]), extract_depth (optional: 'basic' or 'advanced')
    Example:

    {
      "url": [
        "https://example.com/article1",
        "https://example.com/article2"
      ],
      "extract_depth": "advanced"
    }
    
  • firecrawl_scrape_process
    LLM-ready clean content extraction from URLs.
    Parameters: url, extract_depth
    Example:

    {
      "url": "https://example.com/article",
      "extract_depth": "basic"
    }
    
  • firecrawl_crawl_process
    Deep crawl site subpages.
    Parameters: url, extract_depth
    Example:

    {
      "url": "https://example.com",
      "extract_depth": "advanced"
    }
    
  • firecrawl_map_process
    URL collection for site maps.
    Parameters: url, extract_depth
    Example:

    {
      "url": "https://example.com",
      "extract_depth": "basic"
    }
    
  • firecrawl_extract_process
    Structured data extraction with AI prompts.
    Parameters: url, extract_depth
    Example:

    {
      "url": "https://example.com",
      "extract_depth": "basic"
    }
    
  • firecrawl_actions_process
    Page interactions (click, scroll) before extraction.
    Parameters: url, extract_depth
    Example:

    {
      "url": "https://news.ycombinator.com",
      "extract_depth": "basic"
    }
    

Enhancement Tools

  • enhance_kagi_enrichment
    Supplement content from specialized indexes.
    Parameters: query (string)
    Example:

    { "query": "emerging web technologies" }
    
  • enhance_jina_grounding
    Fact verification against web knowledge.
    Parameters: statement (string)
    Example:

    { "statement": "TypeScript adds static typing to JavaScript" }
    

Development

Setup

Clone the repository and install dependencies:

pnpm install
pnpm run build
pnpm run dev

Publishing

Update version, build, and publish:

pnpm run build
pnpm publish

Troubleshooting

API Keys and Access

Each provider requires an API key. Some have specific requirements:

  • Tavily: Developer portal key
  • Perplexity: Developer program access
  • Kagi: Business (Team) plan needed for some features
  • Jina AI: API key required
  • Brave: Developer portal key
  • Firecrawl: Developer portal key

Rate Limits

Providers enforce rate limits; the server handles these gracefully with proper error messages.

Contributing

Contributions are welcome! Please submit a Pull Request.

License

MIT License - see the LICENSE file for details.

Acknowledgments

Built on:

  • Model Context Protocol
  • Tavily Search
  • Perplexity AI
  • Kagi Search
  • Jina AI
  • Brave Search
  • Firecrawl