Baidu Search MCP Server

by Evilran
MIT License
1
  • Apple

Integrations

  • Provides web search capabilities through Baidu, allowing users to search the web and retrieve formatted results. Also offers content fetching and parsing from webpages discovered through search.

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

  1. Download Claude Desktop
  2. 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

Add the following configuration:

{ "mcpServers": { "baidu-search": { "command": "uvx", "args": ["baidu-mcp-server"] } } }
  1. 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 string
  • max_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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Tools

Provides web search capabilities through Baidu with content fetching and parsing features, allowing LLMs to search the web and extract webpage content.

  1. Features
    1. Installation
      1. Installing via Smithery
      2. Installing via uv
    2. Usage
      1. Running with Claude Desktop
      2. Development
    3. Available Tools
      1. 1. Search Tool
      2. 2. Content Fetching Tool
    4. Features in Detail
      1. Rate Limiting
      2. Result Processing
      3. Error Handling
    5. Contributing
      1. License
        1. Acknowledgments

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Integrates Tavily's search API with LLMs to provide advanced web search capabilities, including intelligent result summaries, domain filtering for quality control, and configurable search parameters.
            Last updated -
            3
            64
            9
            JavaScript
            MIT License
            • Linux
          • -
            security
            A
            license
            -
            quality
            Enables integration with DuckDuckGo search capabilities for LLMs, supporting comprehensive web search, regional filtering, result types, and safe browsing with caching and customizable search parameters.
            Last updated -
            26
            2
            TypeScript
            MIT License
          • A
            security
            A
            license
            A
            quality
            Enables efficient web search integration with Jina.ai's Search API, offering clean, LLM-optimized content retrieval with support for various content types and configurable caching.
            Last updated -
            1
            22
            3
            JavaScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            Enables retrieval and processing of web page content for LLMs by converting HTML to markdown, with support for content truncation and pagination.
            Last updated -
            1
            1
            Python
            MIT License

          View all related MCP servers

          ID: syt71i2jen