Baidu Search
Proporciona capacidades de búsqueda web utilizando la API de Baidu Search, con funciones para la obtención y análisis de contenido.
Documentación
Servidor MCP de Baidu Search
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona capacidades de búsqueda web a través de Baidu, con características adicionales para la obtención y análisis de contenido.
Características
- Búsqueda web: Busca en Baidu con limitación de velocidad avanzada y formato de resultados.
- Obtención de contenido: Recupera y analiza el contenido de páginas web con extracción inteligente de texto.
- Limitación de velocidad: Protección integrada contra límites de velocidad tanto para búsqueda como para obtención de contenido.
- Manejo de errores: Manejo integral de errores y registro.
- Salida amigable para LLM: Resultados formateados específicamente para el consumo de modelos de lenguaje grandes.
Instalación
Instalación mediante Smithery
Para instalar el Servidor de Baidu Search para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @Evilran/baidu-mcp-server --client claude
Instalación mediante uv
Instale directamente desde PyPI usando uv:
uv pip install baidu-mcp-server
Uso
Ejecución con Claude Desktop
- Descargue Claude Desktop
- Cree o edite su configuración de Claude Desktop:
- En macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - En Windows:
%APPDATA%\Claude\claude_desktop_config.json
- En macOS:
Agregue la siguiente configuración:
{
"mcpServers": {
"baidu-search": {
"command": "uvx",
"args": ["baidu-mcp-server"]
}
}
}
- Reinicie Claude Desktop
Desarrollo
Para el desarrollo local, puede usar la CLI de MCP:
# Run with the MCP Inspector
mcp dev server.py
# Install locally for testing with Claude Desktop
mcp install server.py
Herramientas Disponibles
1. Herramienta de Búsqueda
async def search(query: str, max_results: int = 10) -> str
Realiza una búsqueda web en Baidu y devuelve resultados formateados.
Parámetros:
query: Cadena de consulta de búsquedamax_results: Número máximo de resultados a devolver (predeterminado: 10)
Devuelve: Cadena formateada que contiene resultados de búsqueda con títulos, URL y fragmentos.
2. Herramienta de Obtención de Contenido
async def fetch_content(url: str) -> str
Obtiene y analiza contenido de una página web.
Parámetros:
url: La URL de la página web de la que obtener contenido
Devuelve: Contenido de texto limpio y formateado de la página web.
Características en Detalle
Limitación de Velocidad
- Búsqueda: Limitada a 30 solicitudes por minuto
- Obtención de contenido: Limitada a 20 solicitudes por minuto
- Gestión automática de cola y tiempos de espera
Procesamiento de Resultados
- Elimina anuncios y contenido irrelevante
- Limpia las URL de redirección de Baidu
- Formatea los resultados para un consumo óptimo de LLM
- Trunca el contenido largo de manera apropiada
Manejo de Errores
- Captura y reporte integral de errores
- Registro detallado a través del contexto de MCP
- Degradación elegante ante límites de velocidad o tiempos de espera
Contribuciones
¡Los problemas y las solicitudes de extracción son bienvenidos! Algunas áreas para posibles mejoras:
- Parámetros de búsqueda adicionales (región, idioma, etc.)
- Opciones mejoradas de análisis de contenido
- Capa de caché para contenido de acceso frecuente
- Estrategias adicionales de limitación de velocidad
Licencia
Este proyecto está licenciado bajo la Licencia MIT.
Agradecimientos
El código de este proyecto hace referencia a los siguientes repositorios:
Gracias a los autores y contribuyentes de estos repositorios por sus esfuerzos y contribuciones a la comunidad de código abierto.
