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
Baidu Search MCP Server
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.
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
- Baixe o Claude Desktop
- 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
- No macOS:
Adicione a seguinte configuração:
{
"mcpServers": {
"baidu-search": {
"command": "uvx",
"args": ["baidu-mcp-server"]
}
}
}
- 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 buscamax_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.
