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

MseeP.ai Security Assessment Badge

Servidor MCP de Baidu Search

smithery badge

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.

Baidu Server MCP server

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

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

Agregue la siguiente configuración:

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