Baidu Search

Fornece capacidades de pesquisa na web usando a API de Pesquisa Baidu, com funcionalidades para busca e análise de conteúdo.

Documentação

MseeP.ai Security Assessment Badge

Baidu Search MCP Server

smithery badge

Um servidor Model Context Protocol (MCP) que fornece recursos de busca na web através do Baidu, com funcionalidades adicionais para recuperação e análise de conteúdo.

Baidu Server MCP server

Recursos

  • Busca na Web: Pesquise no Baidu com limitação de taxa avançada e formatação de resultados
  • Recuperação de Conteúdo: Recupere e analise o conteúdo de páginas web com extração inteligente de texto
  • Limitação de Taxa: Proteção integrada contra limites de taxa tanto para busca quanto para recuperação de conteúdo
  • Tratamento de Erros: Tratamento abrangente de erros e registro de logs
  • Saída Amigável para LLM: Resultados formatados especificamente para consumo por modelos de linguagem de grande porte

Instalação

Instalando via Smithery

Para instalar o Baidu Search Server para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @Evilran/baidu-mcp-server --client claude

Instalando via uv

Instale diretamente do PyPI usando uv:

uv pip install baidu-mcp-server

Uso

Executando com Claude Desktop

  1. Baixe o Claude Desktop
  2. Crie ou edite sua configuração do Claude Desktop:
    • No macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • No Windows: %APPDATA%\Claude\claude_desktop_config.json

Adicione a seguinte configuração:

{
    "mcpServers": {
        "baidu-search": {
            "command": "uvx",
            "args": ["baidu-mcp-server"]
        }
    }
}
  1. Reinicie o Claude Desktop

Desenvolvimento

Para desenvolvimento local, você pode usar a CLI do MCP:

# Run with the MCP Inspector
mcp dev server.py

# Install locally for testing with Claude Desktop
mcp install server.py

Ferramentas Disponíveis

1. Ferramenta de Busca

async def search(query: str, max_results: int = 10) -> str

Realiza uma busca na web no Baidu e retorna resultados formatados.

Parâmetros:

  • query: String de consulta de busca
  • max_results: Número máximo de resultados a retornar (padrão: 10)

Retorna: String formatada contendo resultados de busca com títulos, URLs e trechos.

2. Ferramenta de Recuperação de Conteúdo

async def fetch_content(url: str) -> str

Recupera e analisa o conteúdo de uma página web.

Parâmetros:

  • url: A URL da página web da qual recuperar o conteúdo

Retorna: Conteúdo de texto limpo e formatado da página web.

Recursos em Detalhe

Limitação de Taxa

  • Busca: Limitada a 30 requisições por minuto
  • Recuperação de Conteúdo: Limitada a 20 requisições por minuto
  • Gerenciamento automático de fila e tempos de espera

Processamento de Resultados

  • Remove anúncios e conteúdo irrelevante
  • Limpa URLs de redirecionamento do Baidu
  • Formata resultados para consumo ideal por LLM
  • Trunca conteúdo longo de forma adequada

Tratamento de Erros

  • Captura e relato abrangente de erros
  • Registro detalhado de logs através do contexto MCP
  • Degradação graciosa em limites de taxa ou timeouts

Contribuindo

Issues e pull requests são bem-vindos! Algumas áreas para possíveis melhorias:

  • Parâmetros de busca adicionais (região, idioma, etc.)
  • Opções aprimoradas de análise de conteúdo
  • Camada de cache para conteúdo acessado com frequência
  • Estratégias adicionais de limitação de taxa

Licença

Este projeto é licenciado sob a Licença MIT.

Agradecimentos

O código deste projeto faz referência aos seguintes repositórios:

Agradecemos aos autores e contribuidores desses repositórios por seus esforços e contribuições para a comunidade de código aberto.