HTTrack MCP Server

Servidor FastMCP que encapsula o HTTrack: agentes de IA espelham sites inteiros em um arquivo offline local (trabalhos em segundo plano) e depois navegam, leem e pesquisam as páginas baixadas via MCP. Um espelho isolado por projeto com proteção de concorrência.

Documentação

Servidor MCP HTTrack

License: AGPL v3

Um servidor FastMCP (Model Context Protocol) que encapsula o clássico copiador de sites HTTrack, permitindo que agentes de IA espelhem sites em um arquivo compartilhado e depois naveguem, leiam e pesquisem o conteúdo baixado — tudo via MCP.

Copyright (C) 2026 Tech Ventures VCC. Licenciado sob a GNU Affero General Public License v3.0 (veja LICENSE).

Por quê

O HTTrack é testado em batalha para cópia offline de sites, mas não possui API de script — apenas uma GUI e uma CLI. Este servidor o torna nativo para agentes: um agente LLM pode chamar mirror_site para iniciar um download em segundo plano, consultar mirror_status e depois responder perguntas a partir do arquivo via catalog, list_files, read_file e search_files.

Ferramentas

FerramentaFinalidade
mirror_site(url, project, depth, max_rate, filters)Inicia um espelhamento em segundo plano no arquivo (/data/<project>). Um espelhamento ativo por projeto — uma solicitação concorrente para o mesmo projeto retorna already_running com o job_id ativo; projetos diferentes são executados em paralelo.
mirror_status(job_id)Status do trabalho (running / done / failed + final do log). Omita para listar trabalhos recentes; também aceita o nome do projeto.
catalog()Todos os projetos: nome curto, descrição curta (derivada automaticamente do <title>/meta description de cada site), URL de origem, status, contagens de páginas/arquivos, tamanho.
list_files(project, subpath)Listagem de diretórios dentro de um projeto (nome, tipo, tamanho, modificado).
read_file(project, path, max_bytes)Lê um arquivo de texto (HTML/JS/CSS/txt/json/md). Recusa binários; limita o conteúdo a 256 KB para manter o contexto do agente razoável.
search_files(project, query, max_results)Pesquisa de substring sem diferenciar maiúsculas/minúsculas nos arquivos de texto de um projeto, com resultados limitados.

Início rápido

Pré-requisitos: Docker.

docker build -t httrack-mcp-server .

docker run -d --name httrack-mcp --restart unless-stopped \
  -p 9050:8000 \
  -v /path/to/your/archive:/data:rw \
  httrack-mcp

O contêiner expõe o servidor MCP via HTTP streamable em http://<host>:9050/mcp.

Registrar em um cliente MCP

Exemplo para gateways estilo MCPHub (streamable-http):

{
  "httrack": {
    "type": "streamable-http",
    "url": "http://192.168.1.35:9050/mcp",
    "enabled": true,
    "description": "HTTrack site mirroring + archive browsing",
    "owner": "admin"
  }
}

Clientes que falam HTTP streamable diretamente podem se conectar a /mcp sem autenticação adicional (ninguém é autenticado; execute isso em uma rede confiável ou coloque atrás da autenticação do seu gateway). Veja HELP.md para uso completo, exemplos e solução de problemas.

Modelo de concorrência

  • Um processo httrack por projeto, isolado por seu próprio diretório de saída — sem estado compartilhado entre projetos, então vários agentes podem espelhar sites diferentes em paralelo.
  • mirror_site protege contra espelhamento duplo do mesmo projeto (tabela de trabalhos em processo + uma varredura de /proc para processos httrack gravando no diretório desse projeto).

CI

GitHub Actions é executado em cada PR e push: verificação de sintaxe Python de server.py, asserções de sanidade do Dockerfile e uma compilação de imagem Docker.

Licença

Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU Affero General Public License conforme publicada pela Free Software Foundation, seja a versão 3 da Licença ou (a seu critério) qualquer versão posterior.

Se você executar uma versão modificada deste servidor como um serviço de rede, o AGPL §13 exige que você ofereça aos seus usuários o código-fonte correspondente dessa versão modificada.

Copyright (C) 2026 Tech Ventures VCC. O próprio HTTrack é licenciado sob GPL por Xavier Roche e colaboradores; este projeto apenas o invoca externamente e não é afiliado a ele.