LastPing MCP
Monitoramento por Agente de IA
Documentação
A maioria dos monitoramentos observa uma coisa e avisa quando ela parece errada. O LastPing espera que uma coisa faça check-in e avisa quando ela não faz. Essa inversão é o produto inteiro: um job que quebra não consegue te enviar um erro, mas ele pode falhar em te enviar qualquer coisa — e a ausência é o único sinal que um processo quebrado ainda consegue produzir.
Este repositório contém as peças de código aberto: a CLI lastping e o servidor MCP.
O serviço hospedado com o qual eles conversam está em lastping.dev,
gratuito para pessoas físicas.
Instalação
curl -fsSL https://raw.githubusercontent.com/tp322d/lastping-app/main/install.sh | sh
Nenhum toolchain Go é necessário — isso baixa um binário pré-compilado para macOS e Linux, em amd64 e arm64, e verifica sua soma de verificação. Builds para Windows estão na página de releases.
Se você tiver Go:
go install github.com/tp322d/lastping-app/cmd/lastping@latest
lastping run — relatórios que você não pode esquecer
Coloque na frente do que você já executa:
lastping run --monitor <monitor-id> -- python nightly_etl.py
lastping run --monitor <monitor-id> -- ./backup.sh
lastping run --monitor <monitor-id> -- claude
Ele envia um ping de início, executa seu comando sem alterações e reporta o código de saída quando termina — sucesso em 0, falha em qualquer outro valor, com o final do stderr anexado para que o alerta diga o porquê.
Três propriedades que valem a pena conhecer, porque são a diferença entre um wrapper de monitoramento em que você pode confiar em produção e um que você remove depois de uma noite ruim:
- Seu código de saída sempre se propaga. O wrapper sai com o mesmo código com que seu comando saiu, então o CI se comporta exatamente como antes de você adicioná-lo.
- Um ping com falha nunca toca no seu comando. Se o LastPing estiver inacessível, seu job ainda roda, ainda escreve sua saída, ainda sai normalmente.
- Interativo continua interativo. stdin e stdout são repassados como descritores de arquivo, então envolver um REPL ou uma sessão de agente funciona.
Por que um wrapper em vez de uma instrução? Porque qualquer coisa consultiva se degrada. Um
agente de IA instruído a reportar em cada tarefa vai parar de fazer isso, e uma linha de cron que
você pretendia adicionar com um curl nunca recebe isso. Um wrapper reporta a partir do ciclo de vida
do processo, então nada depende de alguém se lembrar.
Servidor MCP — deixe um agente configurar seu próprio monitoramento
// claude_desktop_config.json, .mcp.json, or your client's equivalent
{
"mcpServers": {
"lastping": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.lastping.dev/mcp",
"--header", "Authorization: Bearer ${LASTPING_API_KEY}"],
"env": { "LASTPING_API_KEY": "lp__your_key_here" }
}
}
}
O servidor hospedado é o caminho recomendado — nada para instalar, e ele sempre carrega o conjunto atual de ferramentas.
Um binário stdio também está aqui se você preferir executá-lo você mesmo:
go install github.com/tp322d/lastping-app/cmd/lastping-mcp@latest
Ferramentas no binário stdio deste repositório (37)
Monitores: create_monitor · get_monitor · list_monitors ·
update_monitor · delete_monitor · pause_monitor · resume_monitor ·
snooze_monitor
Descoberta: discover_monitors_reconcile
Relatórios: get_ping_instructions · declare_run_expectations
Incidentes e execuções: list_incidents · get_run_history · get_incident
(a linha do tempo registrada de um incidente)
O loop de falha: list_open_incidents · add_incident_note
Roteamento de alertas: set_route
Destinos: list_destinations · create_destination ·
update_destination · test_destination · delete_destination
Modelos de alerta: get_alert_templates · set_alert_template
Registro de agentes: register_agent · list_agents · get_agent ·
update_agent · delete_agent
Páginas de status: list_status_pages · create_status_page ·
update_status_page · delete_status_page
Chaves de API: create_api_key (scope opcional: leitura / escrita / admin) ·
list_api_keys · revoke_api_key (cascata para cada chave que criou)
Terraform: export_terraform
Este binário carrega o mesmo conjunto de ferramentas que o servidor hospedado em
mcp.lastping.dev. Ele é um cliente REST enxuto em toda a extensão: cada ferramenta é uma
chamada HTTP direta à API de gerenciamento, então ele continua gratuito para executar você mesmo, com
nenhum atraso em relação à superfície hospedada além de um novo release.
O que mais importa é o get_ping_instructions: um agente chama
create_monitor, depois pede seus próprios comandos de ping e os conecta ao seu
próprio trabalho — em uma única conversa, sem um humano abrir um dashboard.
API de Ping
Cada monitor recebe uma URL. Não há nada para instalar e nenhuma biblioteca para manter atualizada; qualquer coisa que consiga fazer uma requisição HTTP pode reportar.
| O que aconteceu | Requisição |
|---|---|
| terminou com sucesso | POST <ping-url> |
| iniciou uma execução | POST <ping-url>/start |
| falhou | POST <ping-url>/fail com o erro como corpo |
| saiu com um código | POST <ping-url>/<exit-code> |
| aguardando um humano | POST <ping-url>/blocked |
| progresso que vale registrar | POST <ping-url>/note |
Adicione ?rid=<id> para parear o início de uma execução com seu resultado, para que o LastPing consiga agrupar os
pings de uma execução e cronometrá-la.
# The classic one-liner, at the end of a cron job:
curl -fsS -m 10 --retry 3 https://ping.lastping.dev/<monitor-id>
Monitoramento como código
resource "lastping_monitor" "nightly_etl" {
name = "nightly-etl"
slug = "nightly-etl"
schedule_kind = "cron"
cron_expr = "0 3 * * *"
tz = "Europe/Berlin"
grace_s = 900
}
O provider está no
Terraform Registry
como lastping-dev/lastping, com o código-fonte em
lastping-dev/terraform-provider-lastping.
Links
- lastping.dev — o serviço hospedado, gratuito para pessoas físicas
- Monitoramento de agentes de IA — o guia focado em agentes
- Servidor MCP — conecte configurações por cliente
- Provider Terraform — monitoramento como código
- Guias de integração — cron, Kubernetes, systemd, GitHub Actions, Python, Node
Licença
MIT. Veja LICENSE.