Web Scout
Um servidor para raspagem, busca e análise web utilizando múltiplos mecanismos e APIs.
Documentação
Web-Scout: Busca com IA e Resumo por LLM
Um aplicativo FastAPI que realiza buscas na web usando DuckDuckGo e gera resumos com IA usando o Gemini do Google.
Recursos
- Busca na web usando DuckDuckGo
- Resumo com IA usando Gemini 2.5 Flash
- Dois modos de saída: Resumo e Análise detalhada
- Pronto para Docker e Docker Compose
- Gerenciamento seguro de chaves de API via variáveis de ambiente
- Suporte a MCP (Model Context Protocol) via HTTP
Pré-requisitos
- Docker e Docker Compose instalados
- Chave de API do Google Gemini
Configuração
-
Clone o repositório (ou navegue até o diretório do seu projeto)
-
Adicione sua chave de API do Gemini ao arquivo
.env:GEMINI_API_KEY=your_actual_gemini_api_key_here -
Compile e execute com Docker Compose:
docker-compose up --build
Uso da API
O aplicativo estará disponível em http://localhost:8000
Verificação de Saúde
curl http://localhost:8000/health
Endpoint de Busca
Modo Resumo (Padrão)
curl "http://localhost:8000/search?query=artificial+intelligence"
# or explicitly specify mode=summary
curl "http://localhost:8000/search?query=artificial+intelligence&mode=summary"
Modo Detalhado
curl "http://localhost:8000/search?query=artificial+intelligence&mode=detailed"
Formato de Resposta
{
"query": "your search query",
"mode": "summary",
"summary": "AI-generated analysis...",
"sources_used": 10
}
Integração com Servidor MCP
O Web-Scout também pode funcionar como um servidor MCP (Model Context Protocol), permitindo que assistentes de IA realizem buscas na web diretamente por meio de ferramentas.
Recursos do MCP
- Ferramenta de Busca na Web: Realize buscas na web com resumo por IA
- Suporte a Dois Modos: Modos de resumo e análise detalhada
- Transporte HTTP: Protocolo MCP sobre HTTP para integração com clientes
- Respostas JSON: Saída estruturada para fácil integração
Ferramentas MCP Disponíveis
Ferramenta de Busca na Web
- Nome:
web_search - Descrição: Realiza uma busca na web usando DuckDuckGo e gera resumos com IA
- Parâmetros:
query(string, obrigatório): A consulta de busca a ser realizadamode(string, opcional): Modo de resposta - "summary" ou "detailed" (padrão: "summary")
Configuração do Servidor MCP
O Web-Scout fornece funcionalidade MCP via HTTP, acessível no endpoint /mcp.
Método 1: Servidor FastAPI Direto
- Instale as dependências:
pip install -r requirements.txt
- Defina sua chave de API do Gemini:
export GEMINI_API_KEY=your_api_key_here
- Execute o servidor HTTP com endpoint MCP:
python main.py
O endpoint MCP estará disponível em http://localhost:8000/mcp
Método 2: Container Docker
# Run the HTTP server with Docker (MCP available at /mcp)
docker-compose up --build
Ou execute um container autônomo
docker run -p 8000:8000 -e GEMINI_API_KEY=sua_chave_api_aqui web-scout
Integração com Ferramentas de IA
Para usar o Web-Scout como servidor MCP com ferramentas de IA como Claude Desktop ou Roo:
- Crie a Configuração MCP:
{
"mcpServers": {
"web-scout": {
"command": "python",
"args": ["-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here"
}
}
}
}
-
Configure sua ferramenta de IA para usar a configuração MCP:
- Para Claude Desktop: Adicione em
~/Library/Application Support/Claude/claude_desktop_config.json - Para Roo: Adicione no arquivo de configuração apropriado
- Para Claude Desktop: Adicione em
-
Exemplo de Uso:
Can you search for the latest news about artificial intelligence?
A ferramenta de IA usará o servidor MCP do Web-Scout (via endpoint /mcp) para realizar a busca e fornecer resultados resumidos.
Desenvolvimento
Desenvolvimento Local (sem Docker)
# Install dependencies
pip install -r requirements.txt
# Set your API key
export GEMINI_API_KEY=your_api_key_here
# Run the application
uvicorn main:app --reload
Usando Docker Compose
# Build and run
docker-compose up --build
# Run in background
docker-compose up -d --build
# Stop the application
docker-compose down
# View logs
docker-compose logs -f web-scout
Configuração
Variáveis de Ambiente
GEMINI_API_KEY: Sua chave de API do Google Gemini (obrigatória)
Configuração Docker
- Porta: 8000
- Nome do container: web-scout
- Verificação de saúde: Monitoramento automático de saúde
Notas de Segurança
- O arquivo
.envé ignorado pelo Git e nunca deve ser commitado - As chaves de API são montadas com segurança via volumes do Docker Compose
- O aplicativo usa verificações de saúde para monitoramento
Tratamento de Erros
- Retorna códigos de status HTTP adequados
- Inclui mensagens de erro detalhadas
- Trata chaves de API ausentes e parâmetros inválidos de forma adequada