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
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
- 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
- Clona el repositorio:
git clone https://github.com/yourusername/websearch.git
cd websearch
- 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
- Instala las dependencias con uv:
# Install from requirements.txt
uv sync
- 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:
-
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
- Windows:
-
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"
]
}
}
}
-
Asegúrate de reemplazar la ruta del directorio con la ruta absoluta a tu carpeta del proyecto WebSearch.
-
Guarda el archivo de configuración y reinicia Claude para Desktop.
-
Una vez configurado, las herramientas de WebSearch aparecerán en el menú de herramientas (icono de martillo) en Claude para Desktop.
Herramientas Disponibles
-
Buscar
-
Extraer Información
-
Rastrear Sitios Web
-
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ónprompt(str): Instrucciones para la extracciónenableWebSearch(bool): Habilitar búsqueda web complementariashowSources(bool): Incluir referencias de fuentes- Devuelve: Información extraída en el formato especificado
Rastreo
url(str): URL inicialmaxDepth(int): Profundidad máxima de rastreolimit(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:
- Copia el archivo de ejemplo:
# On Unix/MacOS
cp .env.example .env
# On Windows
copy .env.example .env
- Edita el archivo
.envcon 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
-
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
-
Clave de API de Firecrawl:
- Visita el sitio web de Firecrawl
- Crea una cuenta
- Navega a tu panel de control
- Genera una nueva clave de API
Si todo está configurado correctamente, deberías recibir una respuesta JSON con los resultados de búsqueda.
Solución de Problemas
Si encuentras errores:
- Asegúrate de que todas las claves de API requeridas estén configuradas en tu archivo
.env - Verifica que las claves de API sean válidas y no hayan caducado
- Comprueba que el archivo
.envesté en el directorio raíz del proyecto - Asegúrate de que las variables de entorno se estén cargando correctamente
🤝 Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/AmazingFeature) - Realiza tus cambios (
git commit -m 'Add some AmazingFeature') - Envía los cambios a la rama (
git push origin feature/AmazingFeature) - 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