Provides web search capabilities using Brave's search API as one of the supported search engine backends for multi-engine search functionality.
Enables web search through DuckDuckGo's search engine with support for advanced filtering including time-based, geographic, language, and content type parameters.
Offers web search functionality through Google's search engine as part of the multi-engine search architecture with intelligent backend selection.
Uses Pydantic models for data validation and serialization in the web search feature implementation.
Provides testing framework for the MCP server development and quality assurance.
MCP MixSearch
A comprehensive Model Context Protocol (MCP) server for advanced web search functionality with multi-engine support and intelligent backend selection.
Features
Multi-Engine Search: Access to multiple search engines (Brave, DuckDuckGo, Google, Bing, Yandex) via DDGS library
Advanced Filtering: Time-based, geographic, language, and content type filtering
Intelligent Backend Selection: Automatically chooses optimal search engine based on parameters
Full Content Extraction: Extract readable content from search results and specific URLs
Dual Interface: Both MCP protocol and REST API with identical functionality
Graceful Fallbacks: Browser-based search for reliability when APIs fail
Quick Start
Install and Run
Use as a Dependency
See Using as Dependency for creating your own MCP servers.
Configuration
Set environment variables in a .env file or export them:
Running Modes
mcp-mixsearch supports three distinct running modes:
1. MCP HTTP Mode
Runs MCP server over HTTP without REST API endpoints.
2. MCP Stdio Mode (Default)
Runs MCP server over stdio without REST API endpoints.
3. REST API + MCP Mode
Runs both REST API endpoints and MCP protocol over HTTP.
Environment Variables
You can also control modes using environment variables:
In HTTP modes, the server runs on http://localhost:3000 with:
MCP endpoint:
http://localhost:3000/mcpREST API docs:
http://localhost:3000/docs(when REST API enabled)Health check:
http://localhost:3000/health(when REST API enabled)
Available Tools
MCP Tools
full_web_search
Comprehensive web search with content extraction
Multi-engine search with intelligent backend selection
Advanced filtering: time, language, geographic, content type filters
Args: query, limit (1-10), include_content, max_content_length, top_n, recency_days, source, language, country
get_web_search_summaries
Lightweight search returning only summaries
Same advanced filtering capabilities as full_web_search
Args: query, limit (1-10), top_n, recency_days, source, language, country
get_single_web_page_content
Extract content from a specific URL
Args: url, max_content_length
REST API Endpoints
GET /search/full_web_search- Same asfull_web_searchwith identical parametersGET /search/get_web_search_summaries- Same asget_web_search_summarieswith identical parametersGET /search/get_single_web_page_content- Same asget_single_web_page_content
Advanced Search Features
Multi-Engine Architecture
Primary: DDGS library with multiple backend support (Brave, DuckDuckGo, Google, Bing, Yandex)
Intelligent backend selection: Automatically chooses best engine based on parameters
Fallbacks: Browser-based search for reliability
Supported Parameters
Core:
query(required),limit/top_n,include_content,max_content_lengthTime filtering:
recency_days(1=day, 7=week, 30=month, 365=year)Content type:
source("news", "images", "videos", "web")Language filtering:
language(e.g., "en", "es", "fr", "de")Geographic filtering:
country(e.g., "US", "GB", "FR", "DE")
Usage Examples
Basic search:
Advanced filtering:
Project Structure
Development
Testing
Building
Dependencies
mcp-weather: Core MCP infrastructure
fastmcp: MCP protocol implementation
httpx: HTTP client for content extraction
playwright: Browser automation for dynamic content
beautifulsoup4: HTML parsing
fake-useragent: Random user agents
License
See LICENSE file.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables advanced web search across multiple search engines (Brave, DuckDuckGo, Google, Bing, Yandex) with intelligent backend selection, full content extraction, and advanced filtering by time, language, geography, and content type.