Baidu Search MCP Server
A Model Context Protocol (MCP) server that provides web search capabilities through Baidu, with additional features for content fetching and parsing.
Features
- Web Search: Search Baidu with advanced rate limiting and result formatting
- Content Fetching: Retrieve and parse webpage content with intelligent text extraction
- Rate Limiting: Built-in protection against rate limits for both search and content fetching
- Error Handling: Comprehensive error handling and logging
- LLM-Friendly Output: Results formatted specifically for large language model consumption
Installation
Installing via Smithery
To install Baidu Search Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Evilran/baidu-mcp-server --client claude
Installing via uv
Install directly from PyPI using uv:
uv pip install baidu-mcp-server
Usage
Running with Claude Desktop
- Download Claude Desktop
- Create or edit your Claude Desktop configuration:
- On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - On Windows:
%APPDATA%\Claude\claude_desktop_config.json
- On macOS:
Add the following configuration:
{
"mcpServers": {
"baidu-search": {
"command": "uvx",
"args": ["baidu-mcp-server"]
}
}
}
- Restart Claude Desktop
Development
For local development, you can use the MCP CLI:
# Run with the MCP Inspector
mcp dev server.py
# Install locally for testing with Claude Desktop
mcp install server.py
Available Tools
1. Search Tool
async def search(query: str, max_results: int = 10) -> str
Performs a web search on Baidu and returns formatted results.
Parameters:
query: Search query stringmax_results: Maximum number of results to return (default: 10)
Returns: Formatted string containing search results with titles, URLs, and snippets.
2. Content Fetching Tool
async def fetch_content(url: str) -> str
Fetches and parses content from a webpage.
Parameters:
url: The webpage URL to fetch content from
Returns: Cleaned and formatted text content from the webpage.
Features in Detail
Rate Limiting
- Search: Limited to 30 requests per minute
- Content Fetching: Limited to 20 requests per minute
- Automatic queue management and wait times
Result Processing
- Removes ads and irrelevant content
- Cleans up Baidu redirect URLs
- Formats results for optimal LLM consumption
- Truncates long content appropriately
Error Handling
- Comprehensive error catching and reporting
- Detailed logging through MCP context
- Graceful degradation on rate limits or timeouts
Contributing
Issues and pull requests are welcome! Some areas for potential improvement:
- Additional search parameters (region, language, etc.)
- Enhanced content parsing options
- Caching layer for frequently accessed content
- Additional rate limiting strategies
License
This project is licensed under the MIT License.
Acknowledgments
The code in this project references the following repositories:
Thanks to the authors and contributors of these repositories for their efforts and contributions to the open-source community.
Metadata
Release files for iflow-mcp_baidu-mcp-server 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_baidu_mcp_server-0.1.7.tar.gz | 26.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_baidu_mcp_server-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.1 kB
Release files / iflow_mcp_baidu_mcp_server-0.1.7.tar.gz
| Download URL | iflow_mcp_baidu_mcp_server-0.1.7.tar.gz |
|---|---|
| Size | 26.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5623da20eada49d6e835c78d7a735b3a84825c8cac71bfef2479c1c80db5687c
|
|
BLAKE2b-256 checksum How to use checksums |
c585097d5406eaa5abc1111529f8e7e69ff08b5bcd72b2df481eb38912513975
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.17
|
Release files / iflow_mcp_baidu_mcp_server-0.1.7-py3-none-any.whl
| Download URL | iflow_mcp_baidu_mcp_server-0.1.7-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8484f98c6f061d1235b24896629efc1add5b0270d10e599ae68456175ffbf8f5
|
|
BLAKE2b-256 checksum How to use checksums |
1b54bdf6b4975b87856ef6c0eea53c96947153bfdbdc04e94a05e9df97d4f05c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.17
|