WebSearch

Una herramienta avanzada de búsqueda web y extracción de contenido impulsada por la API de Firecrawl para el raspado y análisis web.

Documentación

WebSearch - Herramienta Avanzada de Búsqueda Web y Extracción de Contenido

License Python Version Firecrawl uv

Una potente herramienta de búsqueda web y extracción de contenido construida con Python, que aprovecha la API de Firecrawl para capacidades avanzadas de raspado web, búsqueda y análisis de contenido.

🚀 Características

  • Búsqueda Web Avanzada: Realiza búsquedas web inteligentes con parámetros personalizables
  • Extracción de Contenido: Extrae información específica de páginas web mediante instrucciones en lenguaje natural
  • Rastreo Web: Rastrea sitios web con profundidad y límites configurables
  • Raspado Web: Extrae contenido de páginas web con soporte para varios formatos de salida
  • Integración MCP: Construido como un servidor de Protocolo de Contexto de Modelo (MCP) para una integración perfecta

📋 Requisitos Previos

  • Python 3.8 o superior
  • Gestor de paquetes uv
  • Clave de API de Firecrawl
  • Clave de API de OpenAI (opcional, para funciones mejoradas)
  • Clave de API de Tavily (opcional, para capacidades de búsqueda adicionales)

🛠️ Instalación

  1. Instala uv:
# On Windows (using pip)
pip install uv

# On Unix/MacOS
curl -LsSf https://astral.sh/uv/install.sh | sh

# Add uv to PATH (Unix/MacOS)
export PATH="$HOME/.local/bin:$PATH"

# Add uv to PATH (Windows - add to Environment Variables)
# Add: %USERPROFILE%\.local\bin
  1. Clona el repositorio:
git clone https://github.com/yourusername/websearch.git
cd websearch
  1. Crea y activa un entorno virtual con uv:
# Create virtual environment
uv venv

# Activate on Windows
.\.venv\Scripts\activate.ps1

# Activate on Unix/MacOS
source .venv/bin/activate
  1. Instala las dependencias con uv:
# Install from requirements.txt
uv sync
  1. Configura las variables de entorno:
# Create .env file
touch .env

# Add your API keys
FIRECRAWL_API_KEY=your_firecrawl_api_key
OPENAI_API_KEY=your_openai_api_key

🎯 Uso

Configuración con Claude para Desktop

En lugar de ejecutar el servidor directamente, puedes configurar Claude para Desktop para acceder a las herramientas de WebSearch:

  1. Localiza o crea tu archivo de configuración de Claude para Desktop:

    • Windows: %env:AppData%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Añade la configuración del servidor WebSearch a la sección mcpServers:

{
  "mcpServers": {
    "websearch": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\ABSOLUTE\\PATH\\TO\\WebSearch",
        "run",
        "main.py"
      ]
    }
  }
}
  1. Asegúrate de reemplazar la ruta del directorio con la ruta absoluta a tu carpeta del proyecto WebSearch.

  2. Guarda el archivo de configuración y reinicia Claude para Desktop.

  3. Una vez configurado, las herramientas de WebSearch aparecerán en el menú de herramientas (icono de martillo) en Claude para Desktop.

Herramientas Disponibles

  1. Buscar

  2. Extraer Información

  3. Rastrear Sitios Web

  4. Extraer Contenido

📚 Referencia de la API

Búsqueda

  • query (str): La consulta de búsqueda
  • Devuelve: Resultados de búsqueda en formato JSON

Extracción

  • urls (List[str]): Lista de URLs de las que extraer información
  • prompt (str): Instrucciones para la extracción
  • enableWebSearch (bool): Habilitar búsqueda web complementaria
  • showSources (bool): Incluir referencias de fuentes
  • Devuelve: Información extraída en el formato especificado

Rastreo

  • url (str): URL inicial
  • maxDepth (int): Profundidad máxima de rastreo
  • limit (int): Número máximo de páginas a rastrear
  • Devuelve: Contenido rastreado en formato markdown/HTML

Extracción de Contenido

  • url (str): URL objetivo
  • Devuelve: Contenido extraído con capturas de pantalla opcionales

🔧 Configuración

Variables de Entorno

La herramienta requiere ciertas claves de API para funcionar. Proporcionamos un archivo .env.example que puedes usar como plantilla:

  1. Copia el archivo de ejemplo:
# On Unix/MacOS
cp .env.example .env

# On Windows
copy .env.example .env
  1. Edita el archivo .env con tus claves de API:
# OpenAI API key - Required for AI-powered features
OPENAI_API_KEY=your_openai_api_key_here

# Firecrawl API key - Required for web scraping and searching
FIRECRAWL_API_KEY=your_firecrawl_api_key_here

Obtención de las Claves de API

  1. Clave de API de OpenAI:

    • Visita la plataforma de OpenAI
    • Regístrate o inicia sesión
    • Navega a la sección de claves de API
    • Crea una nueva clave secreta
  2. Clave de API de Firecrawl:

Si todo está configurado correctamente, deberías recibir una respuesta JSON con los resultados de búsqueda.

Solución de Problemas

Si encuentras errores:

  1. Asegúrate de que todas las claves de API requeridas estén configuradas en tu archivo .env
  2. Verifica que las claves de API sean válidas y no hayan caducado
  3. Comprueba que el archivo .env esté en el directorio raíz del proyecto
  4. Asegúrate de que las variables de entorno se estén cargando correctamente

🤝 Contribuciones

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/AmazingFeature)
  3. Realiza tus cambios (git commit -m 'Add some AmazingFeature')
  4. Envía los cambios a la rama (git push origin feature/AmazingFeature)
  5. Abre una Solicitud de Extracción (Pull Request)

📝 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

🙏 Agradecimientos

  • Firecrawl por su potente API de raspado web
  • OpenAI por sus capacidades de IA
  • MCPLa comunidad MCP por la especificación del protocolo

📬 Contacto

José Martín Rodriguez Mortaloni - @m4s1t425 - jmrodriguezm13@gmail.com


Hecho con ❤️ usando Python y Firecrawl