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
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):
- Adicione o endpoint
https://mcp.host-tracker.com/mcpcomo um conector no seu cliente. - 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.
- 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ília | O que cobre |
|---|---|
| Verificações | Execute 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. |
| Monitores | Liste, 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 incidentes | Resumos de uptime, resultados brutos de verificação, a lista de incidentes, um incidente em detalhes e comentários sobre um incidente. |
| Manutenção | Liste, crie, edite e exclua janelas de manutenção para que o trabalho planejado não gere alertas. |
| Contatos | Gerencie contatos e grupos de contatos, envie e confirme uma confirmação de contato e envie um alerta de teste para um deles. |
| Assinaturas | Veja quem é notificado para qual monitor e assine ou cancele a assinatura de um contato. |
| Webhooks | Gerencie endpoints de webhook, envie uma entrega de teste, revise o log de entregas e reenvie uma que falhou. |
| Páginas de status | Gerencie páginas de status públicas, publique um incidente em uma delas e poste atualizações de acompanhamento. |
| Relatórios | Gere um relatório e liste os tipos de relatório disponíveis no seu plano. |
| Trabalhos | Consulte, aguarde, cancele ou retome os trabalhos assíncronos que operações em lote e relatórios retornam. |
| Conta | Somente leitura: o perfil da conta, sua cota e seu uso atual. Útil para diagnosticar uma chamada recusada. |
| Locais | Liste os pools de pontos de verificação e os locais de monitoramento individuais que você pode segmentar. |
| Porta genérica | describe_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ília | Ferramentas |
|---|---|
| Verificações | run_instant_check, get_check_result, list_check_types |
| Monitores | list_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 incidentes | get_uptime_summary, list_monitor_results, list_incidents, get_incident, comment_incident |
| Manutenção | list_maintenance, create_maintenance, update_maintenance, delete_maintenance |
| Contatos | list_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 |
| Assinaturas | list_subscriptions, subscribe_contact, unsubscribe_contact |
| Webhooks | list_webhooks, create_webhook, update_webhook, delete_webhook, test_webhook, list_webhook_deliveries, redeliver_webhook |
| Páginas de status | list_status_pages, get_status_page, create_status_page, update_status_page, delete_status_page, create_status_page_incident, add_status_page_incident_update |
| Relatórios | generate_report, list_report_types |
| Trabalhos | get_job, wait_for_job, cancel_job, resume_job |
| Conta | get_account, get_account_quota, get_account_usage |
| Locais | list_locations |
| Porta genérica | describe_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 deconfirmed=truee 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=trueexclui. 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íliaaccountnunca é 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 respondemissing_scopenomeando 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 assistente | Escopos |
|---|---|
| Execute verificações instantâneas | check |
| Veja monitores, uptime e incidentes | monitor:read |
| Crie, edite, pause ou exclua monitores e manutenção | monitor:write |
| Veja quem é notificado | contact:read, subs:read |
| Gerencie contatos e assinaturas | contact:write, subs:write |
| Gerencie webhooks | webhook:read, webhook:write |
| Gerencie páginas de status e publique incidentes | statuspage:read, statuspage:write |
| Leia cota, uso e limites | account: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 carregaRetry-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_usageeget_account_quotarelatam 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
- Visão geral do servidor MCP
- Emitir um token de API
- Referência da API v2 e guias
- Todas as integrações
- Clientes oficiais: JavaScript · Python · Go · .NET · CLI · Descrição OpenAPI · GitHub Action
- Suporte: ht2support@host-tracker.com
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.