Skip to main content

MCP Server for searching via Baidu

Project description

MseeP.ai Security Assessment Badge

Baidu Search MCP Server

smithery badge

A Model Context Protocol (MCP) server that provides web search capabilities through Baidu, with additional features for content fetching and parsing.

Baidu Server MCP server

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

baidu_mcp_server-0.1.8.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

baidu_mcp_server-0.1.8-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file baidu_mcp_server-0.1.8.tar.gz.

File metadata

  • Download URL: baidu_mcp_server-0.1.8.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for baidu_mcp_server-0.1.8.tar.gz
Algorithm Hash digest
SHA256 51ea0a8204545331f2c41ddc8ff307a9574d8aad4a97dcc62c440f1bdcc8667b
MD5 53e817933e5cc9e13e801ba9da19ff3b
BLAKE2b-256 50d44e35a68413a599b9c7a9647213c139b2bfc37be0c47ea47065da9d645aa2

See more details on using hashes here.

Provenance

The following attestation bundles were made for baidu_mcp_server-0.1.8.tar.gz:

Publisher: python-publish.yml on Evilran/baidu-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file baidu_mcp_server-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for baidu_mcp_server-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 32d3392a6ba73f0cdfd466f12bae7141fa9ebc335648a929c6033a0e09fae2cd
MD5 8eb06fec5fb6f15c8d45f8c41a7b29a0
BLAKE2b-256 0b2affb887edaa4e10d8f6e9fb3a933c25b664cb484747d13f7df7f352c14f25

See more details on using hashes here.

Provenance

The following attestation bundles were made for baidu_mcp_server-0.1.8-py3-none-any.whl:

Publisher: python-publish.yml on Evilran/baidu-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page