HostTracker

Servidor MCP oficial do HostTracker: execute verificações de uptime, SSL, DNS, blacklist e velocidade de página a partir de mais de 300 locais globais, e gerencie monitores, alertas, incidentes e páginas de status.

Documentação

Servidor MCP HostTracker

validate Smithery Glama score MIT

Conecte um assistente de IA ao HostTracker por meio do Model Context Protocol e deixe-o operar sua conta de monitoramento em conversa: execute uma verificação ao vivo a partir de mais de 300 locais globais, veja o que está fora do ar, crie ou pause um monitor, agende uma janela de manutenção, revise incidentes, gerencie quem recebe alertas, configure um webhook, publique uma atualização de página de status.

Endpoint   https://mcp.host-tracker.com/mcp
Transport  streamable HTTP
Auth       OAuth 2.1 (sign in when your client asks) - or Authorization: Bearer <HostTracker API token>

Este repositório é a face pública desse servidor hospedado: os metadados de conexão (server.json), o guia de configuração por cliente (CLIENT.md) e a política de segurança (SECURITY.md) — e, desde a versão 2.0.0, o código-fonte do próprio servidor em src/, para que você possa ler exatamente o que roda por trás do endpoint ou executar uma cópia você mesmo (veja "Execute você mesmo" abaixo).

Conecte-se em dois minutos

Com OAuth (recomendado — Claude.ai, Claude Desktop, Claude Code, ChatGPT e qualquer cliente com um diálogo de conector compatível com OAuth):

  1. Adicione o endpoint https://mcp.host-tracker.com/mcp como um conector no seu cliente.
  2. Entre e aprove. O cliente abre a página de login do HostTracker e, em seguida, um cartão de consentimento listando as permissões solicitadas (por padrão: executar verificações + ler monitores). Pressione Aprovar. Nenhum token aparece.
  3. Pergunte em linguagem natural: "o example.com está no ar agora, verificado da Europa e da Ásia?", "quais dos meus monitores estão fora do ar?", "pause o monitor de staging até amanhã".

Claude Code

Com OAuth (sem necessidade de token):

claude mcp add --transport http hosttracker https://mcp.host-tracker.com/mcp
# then, inside Claude Code: /mcp -> hosttracker -> Authenticate (opens the sign-in + consent page)

Ou com um token bearer no cabeçalho:

.mcp.json no seu projeto (ou ~/.claude.json para um conector de todo o usuário):

{
  "mcpServers": {
    "hosttracker": {
      "type": "http",
      "url": "https://mcp.host-tracker.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
    }
  }
}

Ou pela linha de comando:

claude mcp add --transport http hosttracker https://mcp.host-tracker.com/mcp \
  --header "Authorization: Bearer YOUR_HOSTTRACKER_API_TOKEN"

Claude.ai e Claude Desktop

Configurações -> Conectores -> Adicionar conector personalizado -> cole https://mcp.host-tracker.com/mcp -> Conectar. O navegador abre a página de login + consentimento do HostTracker; pressione Aprovar e o conector estará ativo. Essa é toda a configuração.

Para usar um token bearer em vez disso (por exemplo, um token de longa duração com um conjunto de escopos escolhido manualmente), o Desktop também pode conectar por meio da ponte mcp-remote. Edite claude_desktop_config.json:

{
  "mcpServers": {
    "hosttracker": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://mcp.host-tracker.com/mcp",
        "--header", "Authorization:${HT_AUTH}"
      ],
      "env": { "HT_AUTH": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
    }
  }
}

A indireção ${HT_AUTH} é intencional: algumas versões do mcp-remote dividem um argumento no primeiro espaço, o que quebra um Authorization: Bearer ... literal. É necessário Node.js 18 ou mais recente.

Cursor

~/.cursor/mcp.json para cada projeto, ou .cursor/mcp.json para um único:

{
  "mcpServers": {
    "hosttracker": {
      "url": "https://mcp.host-tracker.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
    }
  }
}

VS Code (modo agente do GitHub Copilot)

.vscode/mcp.json no workspace. O bloco inputs mantém o token fora do arquivo, solicitando-o uma vez e armazenando-o no armazenamento secreto do editor:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "ht-token",
      "description": "HostTracker API token",
      "password": true
    }
  ],
  "servers": {
    "hosttracker": {
      "type": "http",
      "url": "https://mcp.host-tracker.com/mcp",
      "headers": { "Authorization": "Bearer ${input:ht-token}" }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "hosttracker": {
      "serverUrl": "https://mcp.host-tracker.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
    }
  }
}

Execute você mesmo (Docker)

O endpoint hospedado é a forma normal de usar o servidor. Se preferir executar sua própria cópia — para ler o código, auditá-lo ou manter o salto MCP dentro da sua rede — o repositório o compila a partir do código-fonte:

docker build -t hosttracker-mcp https://github.com/HostTracker/mcp.git
docker run --rm -p 8080:8080 hosttracker-mcp

Sua cópia então responde em http://localhost:8080/mcp e aceita exatamente o mesmo cabeçalho Authorization: Bearer: é uma ponte sem estado, portanto não armazena nada e ainda fala com a API pública HostTracker v2 sob seu token. Sem Docker, dotnet run --project src faz o mesmo em qualquer máquina com o SDK .NET 10.

O mesmo binário também fala stdio, para clientes que iniciam o servidor como um processo filho em vez de conectar a uma URL. Adicione --stdio e passe seu token como a variável de ambiente HT_TOKEN (não há cabeçalho de requisição no stdio):

HT_TOKEN=YOUR_HOSTTRACKER_API_TOKEN dotnet run --project src -- --stdio
docker run -i --rm -e HT_TOKEN=YOUR_HOSTTRACKER_API_TOKEN hosttracker-mcp --stdio

Os logs vão para o stderr nesse modo, então o stdout permanece um fluxo de protocolo limpo.

ChatGPT e outros clientes

ChatGPT (modo desenvolvedor -> conectores): adicione https://mcp.host-tracker.com/mcp; o ChatGPT oferece sua etapa de "vincular conta", que abre a página de login + consentimento do HostTracker. Qualquer outro cliente com um diálogo de conector compatível com OAuth funciona da mesma forma — apenas a URL.

Qualquer cliente que possa enviar um cabeçalho estático também funciona com um token bearer: o endpoint https://mcp.host-tracker.com/mcp e o cabeçalho Authorization: Bearer YOUR_HOSTTRACKER_API_TOKEN. Quando o formulário de conector de um cliente oferece um modo de autenticação por chave de API ou cabeçalho personalizado, o token vai lá.

Uma ponte genérica, sem dependências, para qualquer coisa que só possa iniciar um comando:

npx -y mcp-remote https://mcp.host-tracker.com/mcp --header "Authorization:${HT_AUTH}"

Tutoriais mais longos, comandos de verificação e solução de problemas estão em CLIENT.md.

O que o assistente pode fazer

O servidor expõe a API REST HostTracker v2 como ferramentas MCP. Toda ferramenta de listagem aceita limit (máximo 50) e cursor e retorna o próximo cursor; todo timestamp está em segundos Unix em ambas as direções; ids são strings opacas.

FamíliaO que cobre
VerificaçõesExecute uma verificação instantânea em qualquer URL a partir de mais de 300 locais (HTTP/S, ping, porta TCP, traceroute, DNS, blacklist, WHOIS, Web Risk, crawl, velocidade de página), obtenha seu resultado, liste os tipos de verificação e dispositivos disponíveis.
MonitoresListe, leia, crie, edite, copie, pause, retome e exclua monitores, em forma única ou em lote, além do catálogo de tipos de monitor.
Resultados e incidentesResumos de uptime, resultados brutos de verificação, a lista de incidentes, um incidente em detalhes e comentários sobre um incidente.
ManutençãoListe, crie, edite e exclua janelas de manutenção para que o trabalho planejado não gere alertas.
ContatosGerencie contatos e grupos de contatos, envie e confirme uma confirmação de contato e envie um alerta de teste para um deles.
AssinaturasVeja quem é notificado para qual monitor e assine ou cancele a assinatura de um contato.
WebhooksGerencie endpoints de webhook, envie uma entrega de teste, revise o log de entregas e reenvie uma que falhou.
Páginas de statusGerencie páginas de status públicas, publique um incidente em uma delas e poste atualizações de acompanhamento.
RelatóriosGere um relatório e liste os tipos de relatório disponíveis no seu plano.
TrabalhosConsulte, aguarde, cancele ou retome os trabalhos assíncronos que operações em lote e relatórios retornam.
ContaSomente leitura: o perfil da conta, sua cota e seu uso atual. Útil para diagnosticar uma chamada recusada.
LocaisListe os pools de pontos de verificação e os locais de monitoramento individuais que você pode segmentar.
Porta genéricadescribe_api pesquisa as operações reais da v2 e api_request chama uma, para qualquer coisa sem uma ferramenta dedicada. Não é um proxy de URL: a operação deve existir na descrição publicada da API, e a política de segurança abaixo ainda se aplica.
A lista completa de ferramentas
FamíliaFerramentas
Verificaçõesrun_instant_check, get_check_result, list_check_types
Monitoreslist_monitors, get_monitor, create_monitor, update_monitor, delete_monitor, pause_monitor, resume_monitor, copy_monitor, bulk_create_monitors, bulk_update_monitors, bulk_delete_monitors, list_monitor_types
Resultados e incidentesget_uptime_summary, list_monitor_results, list_incidents, get_incident, comment_incident
Manutençãolist_maintenance, create_maintenance, update_maintenance, delete_maintenance
Contatoslist_contacts, get_contact, create_contact, update_contact, delete_contact, send_contact_confirmation, confirm_contact, test_contact, list_contact_groups, create_contact_group, update_contact_group, delete_contact_group
Assinaturaslist_subscriptions, subscribe_contact, unsubscribe_contact
Webhookslist_webhooks, create_webhook, update_webhook, delete_webhook, test_webhook, list_webhook_deliveries, redeliver_webhook
Páginas de statuslist_status_pages, get_status_page, create_status_page, update_status_page, delete_status_page, create_status_page_incident, add_status_page_incident_update
Relatóriosgenerate_report, list_report_types
Trabalhosget_job, wait_for_job, cancel_job, resume_job
Contaget_account, get_account_quota, get_account_usage
Locaislist_locations
Porta genéricadescribe_api, api_request

Três comportamentos que vale a pena conhecer antes da primeira chamada:

  • Operações em lote validam primeiro. Uma ferramenta em lote retorna um relatório de validação; a gravação precisa de uma segunda chamada explícita com submit=true. A exclusão em lote adicionalmente precisa de confirmed=true e da contagem que a passagem de validação relatou, para que uma seleção que mudou no meio seja recusada.
  • Operações em lote e relatórios são assíncronos. Eles respondem com um id de trabalho; consulte-o com wait_for_job.
  • Excluir qualquer coisa não é desfazível, então sempre leva duas chamadas. A primeira chamada de uma ferramenta de exclusão não remove nada — ela retorna o recurso para que o assistente possa mostrar a você o que está prestes a sair — e somente uma chamada repetida com confirmed=true exclui. A API retorna um recibo listando o que foi removido.

Autenticação e escopos

Duas formas de entrada, mesmo modelo de permissão:

  • OAuth (aplicativos conectados). O cliente se registra, você entra uma vez e aprova um conjunto de escopos na página de consentimento, e o servidor emite tokens de acesso de curta duração (1 hora) com tokens de atualização rotativos (90 dias) nos bastidores. Se o cliente não solicitar escopos, ele recebe check + monitor:read. A família account nunca é concedível a um aplicativo conectado. Cada conexão está listada em Integrações -> API -> Aplicativos conectados, onde um clique a revoga (o aplicativo então precisa pedir a você novamente). Uma ferramenta que precisa de um escopo que a conexão não possui responde missing_scope nomeando o que é necessário — reconecte e aprove o conjunto mais amplo.
  • Tokens bearer. Crie-os em Integrações -> API com um conjunto de escopos escolhido manualmente, expiração e lista de permissão de IP opcional; passe-os no cabeçalho Authorization.

Os escopos são por família, com folhas :read e :write que não implicam uma na outra; um nome de família simples satisfaz toda folha sob ele.

Você quer que o assistenteEscopos
Execute verificações instantâneascheck
Veja monitores, uptime e incidentesmonitor:read
Crie, edite, pause ou exclua monitores e manutençãomonitor:write
Veja quem é notificadocontact:read, subs:read
Gerencie contatos e assinaturascontact:write, subs:write
Gerencie webhookswebhook:read, webhook:write
Gerencie páginas de status e publique incidentesstatuspage:read, statuspage:write
Leia cota, uso e limitesaccount:read (somente tokens bearer — não oferecido a conexões OAuth)

Conceda o conjunto mais restrito que cubra o trabalho. Nunca há razão para conceder account:write: o servidor recusa toda gravação sob /account independentemente do que o token permite. Se uma chamada voltar recusada, peça ao assistente para executar get_account_quota, que relata os escopos que o token realmente carrega.

Limites e cota

  • O endpoint limita a taxa de cada IP de cliente em /mcp. Uma resposta limitada carrega Retry-After, que o servidor repassa como um valor; ele nunca dorme ou tenta novamente em seu nome, então o assistente decide o que fazer.
  • A cota do seu plano de API é aplicada contra seu próprio token, exatamente como é para chamadas REST diretas. get_account_usage e get_account_quota relatam onde você está. Detalhes no guia de erros e limites.
  • Falhas de aplicação (sem token, escopo errado, cota esgotada, entrada inválida) voltam como resultados de ferramenta comuns com uma mensagem acionável em vez de um erro de protocolo.

Segurança

O servidor é stateless e não armazena nada: cada chamada é encaminhada para a API usando seu próprio token, e toda propriedade, cota e aplicação de limites de taxa acontecem lá. Além disso, ele recusa, no servidor, independentemente do token: qualquer escrita sob /account, e qualquer coisa que envolva pagamentos, planos, senhas, login ou a emissão de tokens de API. O conteúdo que um alvo verificado controla é envolvido em um bloco delimitado e com limite de tamanho antes de chegar ao modelo, para que um alvo hostil não possa injetar instruções no seu assistente. Política completa em SECURITY.md.

Links

Licença

O conteúdo deste repositório (documentação e metadados) é disponibilizado sob a licença MIT. O servidor MCP hospedado e o próprio serviço HostTracker são proprietários.