Unifies search and content processing by dynamically selecting optimal providers like Tavily, Brave, and Perplexity to e...
Created byApr 22, 2025
mcp-omnisearch
A Model Context Protocol (MCP) server that provides unified access to
multiple search providers and AI tools. This server combines the
capabilities of 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 (include_domains/exclude_domains).
Brave Search: Privacy-focused search with good technical content
coverage. Features native support for search operators (site:, -site:, filetype:, intitle:, inurl:, before:, after:, and exact phrases).
Kagi Search: High-quality search results with minimal
advertising influence, focused on authoritative sources. Supports search operators in query string (site:, -site:, filetype:, intitle:, inurl:, before:, after:, and exact phrases).
Search Operators
MCP Omnisearch provides powerful search capabilities through operators and parameters:
Common Search Features
Domain filtering: Available across all providers
File type filtering: Available in Brave and Kagi (filetype:)
Title and URL filtering: Available in Brave and Kagi (intitle:, inurl:)
Date filtering: Available in Brave and Kagi (before:, after:)
Exact phrase matching: Available in Brave and Kagi ("phrase")
Example Usage
Provider Capabilities
Brave Search: Full native operator support in query string
Kagi Search: Complete operator support in query string
Tavily Search: Domain filtering through API parameters
AI Response Tools
Perplexity AI: Advanced response generation combining real-time
web search with GPT-4 Omni and Claude 3
Jina AI Reader: Clean content extraction with image captioning
and PDF support
Kagi Universal Summarizer: Content summarization for pages,
videos, and podcasts
Tavily Extract: Extract raw content from single or multiple web
pages with configurable extraction depth ('basic' or 'advanced').
Returns both combined content and individual URL content, with
metadata including word count and extraction statistics
Firecrawl Scrape: Extract clean, LLM-ready data from single URLs
with enhanced formatting options
Firecrawl Crawl: Deep crawling of all accessible subpages on a
website with configurable depth limits
Firecrawl Map: Fast URL collection from websites for
comprehensive site mapping
Firecrawl Extract: Structured data extraction with AI using
natural language prompts
Firecrawl Actions: Support for page interactions (clicking,
scrolling, etc.) before extraction for dynamic content
Enhancement Tools
Kagi Enrichment API: Supplementary content from specialized
indexes (Teclis, TinyGem)
Jina AI Grounding: Real-time fact verification against web
knowledge
Flexible API Key Requirements
MCP Omnisearch is designed to work with the API keys you have
available. You don't need to have keys for all providers - the server
will automatically detect which API keys are available and only enable
those providers.
For example:
If you only have a Tavily and Perplexity API key, only those
providers will be available
If you don't have a Kagi API key, Kagi-based services won't be
available, but all other providers will work normally
The server will log which providers are available based on the API
keys you've configured
This flexibility makes it easy to get started with just one or two
providers and add more as needed.
Configuration
This server requires configuration through your MCP client. Here are
examples for different environments:
Cline Configuration
Add this to your Cline MCP settings:
Claude Desktop with WSL Configuration
For WSL environments, add this to your Claude Desktop configuration:
Environment Variables
The server uses API keys for each provider. You don't need keys for
all providers - only the providers corresponding to your available
API keys will be activated:
TAVILY_API_KEY: For Tavily Search
PERPLEXITY_API_KEY: For Perplexity AI
KAGI_API_KEY: For Kagi services (FastGPT, Summarizer, Enrichment)
JINA_AI_API_KEY: For Jina AI services (Reader, Grounding)
BRAVE_API_KEY: For Brave Search
FIRECRAWL_API_KEY: For Firecrawl services (Scrape, Crawl, Map,
Extract, Actions)
You can start with just one or two API keys and add more later as
needed. The server will log which providers are available on startup.
API
The server implements MCP Tools organized by category:
Search Tools
search_tavily
Search the web using Tavily Search API. Best for factual queries
requiring reliable sources and citations.
Parameters:
query (string, required): Search query
Example:
search_brave
Privacy-focused web search with good coverage of technical topics.
Parameters:
query (string, required): Search query
Example:
search_kagi
High-quality search results with minimal advertising influence. Best
for finding authoritative sources and research materials.
Parameters:
query (string, required): Search query
language (string, optional): Language filter (e.g., "en")
no_cache (boolean, optional): Bypass cache for fresh results
Example:
AI Response Tools
ai_perplexity
AI-powered response generation with real-time web search integration.
Parameters:
query (string, required): Question or topic for AI response
Example:
ai_kagi_fastgpt
Quick AI-generated answers with citations.
Parameters:
query (string, required): Question for quick AI response
Example:
Content Processing Tools
process_jina_reader
Convert URLs to clean, LLM-friendly text with image captioning.
Parameters:
url (string, required): URL to process
Example:
process_kagi_summarizer
Summarize content from URLs.
Parameters:
url (string, required): URL to summarize
Example:
process_tavily_extract
Extract raw content from web pages with Tavily Extract.
Parameters:
url (string | string[], required): Single URL or array of URLs to
extract content from
extract_depth (string, optional): Extraction depth - 'basic'
(default) or 'advanced'
Example:
Response includes:
Combined content from all URLs
Individual raw content for each URL
Metadata with word count, successful extractions, and any failed
URLs
firecrawl_scrape_process
Extract clean, LLM-ready data from single URLs with enhanced
formatting options.
Parameters:
url (string | string[], required): Single URL or array of URLs to
extract content from
extract_depth (string, optional): Extraction depth - 'basic'
(default) or 'advanced'
Example:
Response includes:
Clean, markdown-formatted content
Metadata including title, word count, and extraction statistics
firecrawl_crawl_process
Deep crawling of all accessible subpages on a website with
configurable depth limits.
Parameters:
url (string | string[], required): Starting URL for crawling
extract_depth (string, optional): Extraction depth - 'basic'
(default) or 'advanced' (controls crawl depth and limits)
Example:
Response includes:
Combined content from all crawled pages
Individual content for each page
Metadata including title, word count, and crawl statistics
firecrawl_map_process
Fast URL collection from websites for comprehensive site mapping.
A Model Context Protocol (MCP) server that provides unified access to
multiple search providers and AI tools. This server combines the
capabilities of 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 (include_domains/exclude_domains).
Brave Search: Privacy-focused search with good technical content
coverage. Features native support for search operators (site:, -site:, filetype:, intitle:, inurl:, before:, after:, and exact phrases).
Kagi Search: High-quality search results with minimal
advertising influence, focused on authoritative sources. Supports search operators in query string (site:, -site:, filetype:, intitle:, inurl:, before:, after:, and exact phrases).
Search Operators
MCP Omnisearch provides powerful search capabilities through operators and parameters:
Common Search Features
Domain filtering: Available across all providers
File type filtering: Available in Brave and Kagi (filetype:)
Title and URL filtering: Available in Brave and Kagi (intitle:, inurl:)
Date filtering: Available in Brave and Kagi (before:, after:)
Exact phrase matching: Available in Brave and Kagi ("phrase")
Example Usage
Provider Capabilities
Brave Search: Full native operator support in query string
Kagi Search: Complete operator support in query string
Tavily Search: Domain filtering through API parameters
AI Response Tools
Perplexity AI: Advanced response generation combining real-time
web search with GPT-4 Omni and Claude 3
Jina AI Reader: Clean content extraction with image captioning
and PDF support
Kagi Universal Summarizer: Content summarization for pages,
videos, and podcasts
Tavily Extract: Extract raw content from single or multiple web
pages with configurable extraction depth ('basic' or 'advanced').
Returns both combined content and individual URL content, with
metadata including word count and extraction statistics
Firecrawl Scrape: Extract clean, LLM-ready data from single URLs
with enhanced formatting options
Firecrawl Crawl: Deep crawling of all accessible subpages on a
website with configurable depth limits
Firecrawl Map: Fast URL collection from websites for
comprehensive site mapping
Firecrawl Extract: Structured data extraction with AI using
natural language prompts
Firecrawl Actions: Support for page interactions (clicking,
scrolling, etc.) before extraction for dynamic content
Enhancement Tools
Kagi Enrichment API: Supplementary content from specialized
indexes (Teclis, TinyGem)
Jina AI Grounding: Real-time fact verification against web
knowledge
Flexible API Key Requirements
MCP Omnisearch is designed to work with the API keys you have
available. You don't need to have keys for all providers - the server
will automatically detect which API keys are available and only enable
those providers.
For example:
If you only have a Tavily and Perplexity API key, only those
providers will be available
If you don't have a Kagi API key, Kagi-based services won't be
available, but all other providers will work normally
The server will log which providers are available based on the API
keys you've configured
This flexibility makes it easy to get started with just one or two
providers and add more as needed.
Configuration
This server requires configuration through your MCP client. Here are
examples for different environments:
Cline Configuration
Add this to your Cline MCP settings:
Claude Desktop with WSL Configuration
For WSL environments, add this to your Claude Desktop configuration:
Environment Variables
The server uses API keys for each provider. You don't need keys for
all providers - only the providers corresponding to your available
API keys will be activated:
TAVILY_API_KEY: For Tavily Search
PERPLEXITY_API_KEY: For Perplexity AI
KAGI_API_KEY: For Kagi services (FastGPT, Summarizer, Enrichment)
JINA_AI_API_KEY: For Jina AI services (Reader, Grounding)
BRAVE_API_KEY: For Brave Search
FIRECRAWL_API_KEY: For Firecrawl services (Scrape, Crawl, Map,
Extract, Actions)
You can start with just one or two API keys and add more later as
needed. The server will log which providers are available on startup.
API
The server implements MCP Tools organized by category:
Search Tools
search_tavily
Search the web using Tavily Search API. Best for factual queries
requiring reliable sources and citations.
Parameters:
query (string, required): Search query
Example:
search_brave
Privacy-focused web search with good coverage of technical topics.
Parameters:
query (string, required): Search query
Example:
search_kagi
High-quality search results with minimal advertising influence. Best
for finding authoritative sources and research materials.
Parameters:
query (string, required): Search query
language (string, optional): Language filter (e.g., "en")
no_cache (boolean, optional): Bypass cache for fresh results
Example:
AI Response Tools
ai_perplexity
AI-powered response generation with real-time web search integration.
Parameters:
query (string, required): Question or topic for AI response
Example:
ai_kagi_fastgpt
Quick AI-generated answers with citations.
Parameters:
query (string, required): Question for quick AI response
Example:
Content Processing Tools
process_jina_reader
Convert URLs to clean, LLM-friendly text with image captioning.
Parameters:
url (string, required): URL to process
Example:
process_kagi_summarizer
Summarize content from URLs.
Parameters:
url (string, required): URL to summarize
Example:
process_tavily_extract
Extract raw content from web pages with Tavily Extract.
Parameters:
url (string | string[], required): Single URL or array of URLs to
extract content from
extract_depth (string, optional): Extraction depth - 'basic'
(default) or 'advanced'
Example:
Response includes:
Combined content from all URLs
Individual raw content for each URL
Metadata with word count, successful extractions, and any failed
URLs
firecrawl_scrape_process
Extract clean, LLM-ready data from single URLs with enhanced
formatting options.
Parameters:
url (string | string[], required): Single URL or array of URLs to
extract content from
extract_depth (string, optional): Extraction depth - 'basic'
(default) or 'advanced'
Example:
Response includes:
Clean, markdown-formatted content
Metadata including title, word count, and extraction statistics
firecrawl_crawl_process
Deep crawling of all accessible subpages on a website with
configurable depth limits.
Parameters:
url (string | string[], required): Starting URL for crawling
extract_depth (string, optional): Extraction depth - 'basic'
(default) or 'advanced' (controls crawl depth and limits)
Example:
Response includes:
Combined content from all crawled pages
Individual content for each page
Metadata including title, word count, and crawl statistics
firecrawl_map_process
Fast URL collection from websites for comprehensive site mapping.