MiniMax Search is an MCP (Model Context Protocol) server that provides web search and browsing capabilities.
This project uses the standard MCP Server protocol, compliant with MCP specifications:
- ✅ Complete
list_tools()implementation - ✅ Complete
call_tool()implementation - ✅ Standard
stdio_server()communication
- 🔍 Multi-Engine Search: Supports Google search engine
- 🚀 Parallel Search: Native support for parallel multi-query search
- 🌐 Batch Browsing: Support for batch browsing of multiple URLs
- 🤖 Intelligent Understanding: Uses MiniMax LLM to understand web content and answer questions
- 🎯 Advanced Search: Supports Google advanced search syntax
- 🔄 Auto Fallback: Automatically switches to other engines when search fails
# Run directly from Git repository
uvx --from git+ssh://git@github.com:MiniMax-AI/minimax_search.git minimax-search # Run from local directory
uvx --from /xxx/minimax_search minimax-searchAdd to your MCP client configuration file (e.g., mcp.json):
{
"mcpServers": {
"minimax_search": {
"command": "uvx",
"args": [
"--from",
"git+ssh://git@github.com:MiniMax-AI/minimax_search.git",
"minimax-search"
],
"env": {
"MINIMAX_API_KEY": "your_minimax_api_key",
"SERPER_API_KEY": "your_serper_api_key",
"JINA_API_KEY": "your_jina_api_key"
}
}
}
}Search multiple queries simultaneously, returning brief results (title, URL, snippet).
Parameters:
queries(array of strings, required): List of queries, supports Google advanced search syntax
Supported Search Engines:
- Google Search (via Serper API)
Advanced Search Syntax:
site:example.com- Limit to specific siteintitle:keyword- Title contains keywordinurl:keyword- URL contains keyword"exact match"- Exact phrase match
Example:
{
"queries": ["Python asyncio tutorial", "Python threading vs asyncio"]
}Visit multiple web pages, use MiniMax LLM to understand content and answer questions.
Parameters:
urls(array of strings, required): List of target web page URLsquery(string, required): Question to be answered
Example:
{
"urls": [
"https://docs.python.org/3/library/asyncio.html",
"https://realpython.com/async-io-python/"
],
"query": "Summarize the main features and use cases of asyncio"
}Basic Search Functionality:
SERPER_API_KEY: Google Search- Get it from: https://serper.dev/
- Free tier: 2,500 requests/month
Web Browsing Functionality:
JINA_API_KEY: Web content reading- Get it from: https://jina.ai/
- Free tier available
Browse Functionality (LLM Understanding):
MINIMAX_API_KEY: MiniMax API Key- Get it from: https://platform.minimax.io/
Once the MCP server is started, the Agent can use the following tools:
Parallel search for multiple queries:
User: Search for "Python asyncio" and "Python threading" differences simultaneously
Agent: [Calls search tool]
→ search(queries=["Python asyncio", "Python threading"])
→ Returns search results for both queries (executed in parallel)
Batch browse multiple web pages:
User: Visit these links and summarize the main features of asyncio
- https://docs.python.org/3/library/asyncio.html
- https://realpython.com/async-io-python/
Agent: [Calls browse tool]
→ browse(
urls=["https://docs.python.org/...", "https://realpython.com/..."],
query="Summarize the main features of asyncio"
)
→ Returns comprehensive summary and answer
minimax_search/
├── server.py # MCP Server entry point (2 tools)
├── minimax_search_browse.py # Core search and browse implementation
├── pyproject.toml # Project configuration
└── README.md
Parallel Search:
- Native support for queries array
- Concurrent execution using thread pool
- Automatic formatting and grouping of results
Batch Browsing:
- Native support for urls array
- Jina Reader extracts web content (converts to Markdown)
- MiniMax LLM understands content and generates comprehensive answers
MIT
This project is based on the MiniMax-M2 Model project