hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Uses .ENV files to manage API keys and configuration settings for the WebSearch server.

  • Provides integration for repository management, allowing users to fork, clone, and contribute to the WebSearch project.

  • Supports output of crawled and extracted web content in Markdown format for improved readability and structure.

WebSearch: herramienta avanzada de búsqueda web y extracción de contenido

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

🚀 Características

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

📋 Requisitos previos

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

🛠️ Instalación

  1. Instalar 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. Clonar el repositorio:
git clone https://github.com/yourusername/websearch.git cd websearch
  1. Crear y activar 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. Instalar dependencias con uv:
# Install from requirements.txt uv sync
  1. Configurar 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 escritorio

En lugar de ejecutar el servidor directamente, puede configurar Claude for Desktop para acceder a las herramientas de búsqueda web:

  1. Localice o cree su archivo de configuración de Claude for Desktop:
    • Ventanas: %env:AppData%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Agregue 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úrese de reemplazar la ruta del directorio con la ruta absoluta a la carpeta del proyecto WebSearch.
  2. Guarde el archivo de configuración y reinicie Claude for Desktop.
  3. Una vez configuradas, las herramientas de WebSearch aparecerán en el menú de herramientas (icono de martillo) en Claude for Desktop.

Herramientas disponibles

  1. Buscar
  2. Extraer información
  3. Rastrear sitios web
  4. Extraer contenido

Referencia de API

Buscar

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

Extracto

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

Gatear

  • url (str): URL de inicio
  • maxDepth (int): profundidad máxima de rastreo
  • limit (int): Máximo de páginas a rastrear
  • Devoluciones: contenido rastreado en formato Markdown/HTML

Raspar

  • url (str): URL de destino
  • Devoluciones: contenido extraído con capturas de pantalla opcionales

🔧 Configuración

Variables de entorno

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

  1. Copia el archivo de ejemplo:
# On Unix/MacOS cp .env.example .env # On Windows copy .env.example .env
  1. Edite el archivo .env con sus claves 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

Obtener las claves API

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

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

Solución de problemas

Si encuentra errores:

  1. Asegúrese de que todas las claves API necesarias estén configuradas en su archivo .env
  2. Verifique que las claves API sean válidas y no hayan expirado
  3. Verifique que el archivo .env esté en el directorio raíz del proyecto
  4. Asegúrese de que las variables de entorno se estén cargando correctamente

🤝 Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/AmazingFeature )
  3. Confirme sus cambios ( git commit -m 'Add some AmazingFeature' )
  4. Empujar a la rama ( git push origin feature/AmazingFeature )
  5. Abrir una solicitud de extracción

📝 Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

🙏 Agradecimientos

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

📬 Contacto

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


Hecho con ❤️ usando Python y Firecrawl

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Creado como un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona búsqueda web avanzada, extracción de contenido, rastreo web y capacidades de raspado mediante la API Firecrawl.

  1. 🚀 Features
    1. 📋 Prerequisites
      1. 🛠️ Installation
        1. 🎯 Usage
          1. Setting Up With Claude for Desktop
          2. Available Tools
        2. 📚 API Reference
          1. Search
          2. Extract
          3. Crawl
          4. Scrape
        3. 🔧 Configuration
          1. Environment Variables
          2. Getting the API Keys
          3. Troubleshooting
        4. 🤝 Contributing
          1. 📝 License
            1. 🙏 Acknowledgments
              1. 📬 Contact
                ID: bpr128ue6j