WebWatch MCP

Monitoramento de alterações em sites com observação de URLs, comparação de snapshots e extração inteligente de conteúdo para assistentes de IA

Documentação

🔍 WebWatch MCP

Um servidor de Protocolo de Contexto de Modelo (MCP) para monitorar mudanças em sites. Acompanhe URLs, detecte mudanças de conteúdo, compare instantâneos e extraia conteúdo com seletores CSS — tudo a partir do seu assistente de IA.

Recursos

  • Acompanhar URLs — Monitore qualquer página da web para mudanças de conteúdo
  • Seletores CSS — Acompanhe elementos específicos (preços, manchetes, informações de ações)
  • Histórico de Instantâneos — Armazenamento baseado em SQLite de cada estado da página
  • Detecção de Diff — Veja exatamente o que mudou, linha por linha
  • Extração de Conteúdo — Obtenha dados estruturados de qualquer página sob demanda

Ferramentas

FerramentaDescrição
watch_urlAdicione uma URL à lista de monitoramento com seletor CSS e rótulo opcionais
list_watchesListe todas as URLs monitoradas com status e estatísticas
check_nowBusque uma URL agora, compare com o instantâneo anterior e retorne o diff
get_changesNavegue pelo histórico de mudanças de uma ou todas as URLs monitoradas
compare_snapshotsCompare quaisquer dois instantâneos lado a lado
extract_contentExtração de conteúdo avulsa com seletores CSS

Instalação

# Clone and build
git clone https://github.com/leviai-tools/webwatch-mcp.git
cd webwatch-mcp
npm install
npm run build

# Or install globally
npm install -g @leviai/webwatch-mcp

Uso com Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "webwatch": {
      "command": "node",
      "args": ["/path/to/webwatch-mcp/build/index.js"],
      "env": {
        "WEBWATCH_DATA_DIR": "/path/to/data/dir"
      }
    }
  }
}

Ou se instalado globalmente:

{
  "mcpServers": {
    "webwatch": {
      "command": "webwatch-mcp"
    }
  }
}

Variáveis de Ambiente

VariávelPadrãoDescrição
WEBWATCH_DATA_DIR~/.webwatch-mcpDiretório para o banco de dados SQLite

Exemplos de Fluxos de Trabalho

Monitorar uma página de preços

You: "Watch https://example.com/pricing — track the .pricing-table element"
→ watch_url(url, selector=".pricing-table", label="Example pricing")

You: "Check if pricing changed"
→ check_now("https://example.com/pricing")

Acompanhar mudanças de concorrentes

You: "Add these competitor pages to my watchlist"
→ watch_url for each URL

You: "Show me all recent changes"
→ get_changes(limit=20)

Extrair dados sob demanda

You: "What are the headlines on HN right now?"
→ extract_content("https://news.ycombinator.com", ".titleline > a")

Armazenamento de Dados

Todos os dados são armazenados localmente em SQLite em ~/.webwatch-mcp/webwatch.db (configurável via WEBWATCH_DATA_DIR).

Tabelas:

  • watches — URLs monitoradas com seletores e rótulos
  • snapshots — Conteúdo da página capturado a cada verificação
  • changes — Diffs detectados entre instantâneos consecutivos

Requisitos

  • Node.js ≥ 18.0.0

Licença

MIT