π Intelligent multi-provider search aggregation server built on FastMCP 2.0
MCP Search Hub embeds official MCP servers from five leading search providers within a unified interface, intelligently routes queries to the most appropriate provider(s), and combines/ranks results for optimal relevance.
- ποΈ Unified Interface: Single MCP server for all search providers
- π§ Intelligent Routing: Automatically selects optimal providers based on query characteristics
- β‘ Official Provider Integration: Embeds official MCP servers (Linkup, Exa, Perplexity, Tavily, Firecrawl)
- π° Cost Optimization: 30-45% cost reduction through intelligent provider selection
- π Zero Maintenance: Provider updates flow through automatically
- π Smart Result Merging: Deduplication and multi-factor ranking
- β‘ Performance Optimized: Multi-tier caching and parallel execution
- π§ Production Ready: Error handling, rate limiting, monitoring
Get up and running in 5 minutes:
# 1. Clone and install
git clone https://github.com/BjornMelin/mcp-search-hub
cd mcp-search-hub
uv pip install -r requirements.txt
# 2. Interactive setup (recommended)
python scripts/setup_claude_desktop.py
# 3. Start searching!
# The script will guide you through API key setup and Claude Desktop integrationAfter setup, restart Claude Desktop and ask: "What MCP tools do you have available?"
π Complete Setup Guide | β‘ Quick Setup Script
Each provider excels in different areas. MCP Search Hub automatically routes queries to leverage these strengths:
| Provider | Strengths | Best For | Accuracy |
|---|---|---|---|
| Linkup | Factual information, current events | News, facts, real-time data | 91.0% |
| Exa | Semantic search, academic content | Research papers, technical docs | 90.0% |
| Perplexity | AI-powered analysis, current events | Complex queries, analysis | 86.0% |
| Tavily | RAG-optimized results | Retrieval applications | 73.0% |
| Firecrawl | Deep content extraction | Web scraping, full content | N/A |
Accuracy scores from SimpleQA benchmark
graph TB
User[Claude Desktop/Code] --> Hub[MCP Search Hub]
Hub --> Router[Intelligent Router]
Router -->|Academic Query| Exa[Exa MCP Server]
Router -->|News Query| Perplexity[Perplexity MCP Server]
Router -->|Factual Query| Linkup[Linkup MCP Server]
Router -->|Scraping Task| Firecrawl[Firecrawl MCP Server]
Hub --> Cache[Smart Caching]
Hub --> Merger[Result Merger]
style Hub fill:#e1f5fe
style Router fill:#f3e5f5
style Cache fill:#e8f5e8
style Merger fill:#fff3e0
Benefits:
- Single Integration: One MCP server instead of five
- Zero Configuration: No need to manage multiple servers
- Automatic Updates: Provider improvements flow through automatically
- Cost Efficient: Intelligent routing reduces unnecessary API calls
- Quality Results: Multi-provider consensus improves accuracy
- Getting Started - Complete setup guide and first steps
- Configuration - Detailed configuration reference
- API Reference - Complete tool and endpoint documentation
- Troubleshooting - Solutions to common problems
- Contributing - How to contribute to the project
- Development - Development workflows and practices
- Architecture - System design and components
- Provider Integration - How providers are embedded
- Caching Strategy - Multi-tier caching system
- Performance Tuning - Optimization strategies
π Complete Documentation Index
At minimum, you need API keys for the providers you want to use:
# Copy environment template
cp .env.template .env
# Add your API keys
LINKUP_API_KEY=your_linkup_key
EXA_API_KEY=your_exa_key
PERPLEXITY_API_KEY=your_perplexity_key
TAVILY_API_KEY=your_tavily_key
FIRECRAWL_API_KEY=your_firecrawl_key| Provider | Free Tier | Sign Up |
|---|---|---|
| Linkup | 100 requests/month | linkup.so |
| Exa | 1,000 requests/month | exa.ai |
| Perplexity | $5 credit | perplexity.ai |
| Tavily | 1,000 requests/month | tavily.com |
| Firecrawl | 500 requests/month | firecrawl.dev |
βοΈ Complete Configuration Guide
MCP Search Hub provides all tools from embedded provider MCP servers:
search- Intelligent multi-provider search with automatic routingget_provider_info- Information about available providers
- Firecrawl:
firecrawl_scrape,firecrawl_search,firecrawl_crawl,firecrawl_extract - Exa:
web_search_exa,research_paper_search,company_research,linkedin_search - Perplexity:
perplexity_ask,perplexity_research - Linkup:
linkup_search_web - Tavily:
tavily_search,tavily_extract
π οΈ Full Tool Documentation
MCP Search Hub uses a modular architecture with embedded MCP servers:
graph TB
subgraph "MCP Search Hub"
Server[FastMCP Server]
Router[Query Router]
Cache[Tiered Cache]
Merger[Result Merger]
end
subgraph "Embedded MCP Servers"
LinkupMCP[Linkup MCP]
ExaMCP[Exa MCP]
PerplexityMCP[Perplexity MCP]
TavilyMCP[Tavily MCP]
FirecrawlMCP[Firecrawl MCP]
end
Client[Claude Desktop] --> Server
Server --> Router
Router --> LinkupMCP
Router --> ExaMCP
Router --> PerplexityMCP
Router --> TavilyMCP
Router --> FirecrawlMCP
style Server fill:#e1f5fe
style Router fill:#f3e5f5
style Cache fill:#e8f5e8
style Merger fill:#fff3e0
ποΈ Architecture Documentation
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Submit a pull request
π€ Contributing Guide | π οΈ Development Setup
This project is licensed under the MIT License - see the LICENSE file for details.
- FastMCP - The framework powering this server
- Provider Teams - For their excellent APIs and official MCP servers
Ready to get started? Follow our Getting Started Guide or run the interactive setup:
python scripts/setup_claude_desktop.py