WebSearch

Uma ferramenta avançada de busca na web e extração de conteúdo, alimentada pela API Firecrawl para raspagem e análise de sites.

Documentação

WebSearch - Ferramenta Avançada de Busca na Web e Extração de Conteúdo

License Python Version Firecrawl uv

Uma poderosa ferramenta de busca na web e extração de conteúdo construída com Python, utilizando a API Firecrawl para capacidades avançadas de raspagem web, busca e análise de conteúdo.

🚀 Recursos

  • Busca Avançada na Web: Realize buscas inteligentes na web com parâmetros personalizáveis
  • Extração de Conteúdo: Extraia informações específicas de páginas web usando prompts em linguagem natural
  • Rastreamento Web: Rastreie sites com profundidade e limites configuráveis
  • Raspagem Web: Raspe páginas web com suporte a vários formatos de saída
  • Integração MCP: Construído como um servidor Model Context Protocol (MCP) para integração perfeita

📋 Pré-requisitos

  • Python 3.8 ou superior
  • Gerenciador de pacotes uv
  • Chave da API Firecrawl
  • Chave da API OpenAI (opcional, para recursos aprimorados)
  • Chave da API Tavily (opcional, para capacidades adicionais de busca)

🛠️ Instalação

  1. Instale o 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. Clone o repositório:
git clone https://github.com/yourusername/websearch.git
cd websearch
  1. Crie e ative um ambiente virtual com uv:
# Create virtual environment
uv venv

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

# Activate on Unix/MacOS
source .venv/bin/activate
  1. Instale as dependências com uv:
# Install from requirements.txt
uv sync
  1. Configure as variáveis de ambiente:
# Create .env file
touch .env

# Add your API keys
FIRECRAWL_API_KEY=your_firecrawl_api_key
OPENAI_API_KEY=your_openai_api_key

🎯 Uso

Configuração com Claude for Desktop

Em vez de executar o servidor diretamente, você pode configurar o Claude for Desktop para acessar as ferramentas WebSearch:

  1. Localize ou crie seu arquivo de configuração do Claude for Desktop:

    • Windows: %env:AppData%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Adicione a configuração do servidor WebSearch à seção mcpServers:

{
  "mcpServers": {
    "websearch": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\ABSOLUTE\\PATH\\TO\\WebSearch",
        "run",
        "main.py"
      ]
    }
  }
}
  1. Certifique-se de substituir o caminho do diretório pelo caminho absoluto da pasta do seu projeto WebSearch.

  2. Salve o arquivo de configuração e reinicie o Claude for Desktop.

  3. Uma vez configurado, as ferramentas WebSearch aparecerão no menu de ferramentas (ícone de martelo) no Claude for Desktop.

Ferramentas Disponíveis

  1. Buscar

  2. Extrair Informações

  3. Rastrear Sites

  4. Raspar Conteúdo

📚 Referência da API

Buscar

  • query (str): A consulta de busca
  • Retorna: Resultados da busca em formato JSON

Extrair

  • urls (List[str]): Lista de URLs para extrair informações
  • prompt (str): Instruções para extração
  • enableWebSearch (bool): Ativar busca web suplementar
  • showSources (bool): Incluir referências de fontes
  • Retorna: Informações extraídas no formato especificado

Rastrear

  • url (str): URL inicial
  • maxDepth (int): Profundidade máxima de rastreamento
  • limit (int): Número máximo de páginas para rastrear
  • Retorna: Conteúdo rastreado em formato markdown/HTML

Raspar

  • url (str): URL de destino
  • Retorna: Conteúdo raspado com capturas de tela opcionais

🔧 Configuração

Variáveis de Ambiente

A ferramenta requer certas chaves de API para funcionar. Fornecemos um arquivo .env.example que você pode usar como modelo:

  1. Copie o arquivo de exemplo:
# On Unix/MacOS
cp .env.example .env

# On Windows
copy .env.example .env
  1. Edite o arquivo .env com suas chaves 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

Obtendo as Chaves de API

  1. Chave da API OpenAI:

    • Visite a plataforma da OpenAI
    • Cadastre-se ou faça login
    • Navegue até a seção de chaves de API
    • Crie uma nova chave secreta
  2. Chave da API Firecrawl:

    • Visite o site da Firecrawl
    • Crie uma conta
    • Navegue até seu painel
    • Gere uma nova chave de API

Se tudo estiver configurado corretamente, você deverá receber uma resposta JSON com os resultados da busca.

Solução de Problemas

Se você encontrar erros:

  1. Certifique-se de que todas as chaves de API necessárias estejam definidas no seu arquivo .env
  2. Verifique se as chaves de API são válidas e não expiraram
  3. Confirme que o arquivo .env está no diretório raiz do projeto
  4. Certifique-se de que as variáveis de ambiente estão sendo carregadas corretamente

🤝 Contribuindo

  1. Faça um fork do repositório
  2. Crie sua branch de recurso (git checkout -b feature/AmazingFeature)
  3. Faça commit das suas alterações (git commit -m 'Add some AmazingFeature')
  4. Envie para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📝 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.

🙏 Agradecimentos

  • Firecrawl pela poderosa API de raspagem web
  • OpenAI pelas capacidades de IA
  • MCP A comunidade MCP pela especificação do protocolo

📬 Contato

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


Feito com ❤️ usando Python e Firecrawl