exit1.dev

Monitoramento de uptime a partir do seu agente de IA: crie e gerencie monitores HTTP, TCP, UDP, WebSocket e ICMP, leia estatísticas e histórico de uptime e configure alertas.

Documentação

exit1-mcp

Servidor MCP para monitoramento de uptime do Exit1. Deixe seu assistente de IA configurar o monitoramento para o projeto que você acabou de lançar — leia seu repositório, crie os checks, configure alertas e envie um alerta de teste real para provar que funciona — depois pergunte sobre o uptime em linguagem natural.

Duas formas de conectar

Hospedado (recomendado). Sem chave de API, sem npm install, sem necessidade de plano para começar. Execute isto no seu terminal antes de iniciar uma sessão: o login abre seu navegador, você entra (ou se cadastra) com Clerk, aprova, e está conectado.

claude mcp add --transport http exit1 https://app.exit1.dev/mcp/v1 && claude mcp login exit1

Uma linha de propósito: colar os dois comandos como linhas separadas é não confiável em alguns terminais (cmd.exe descarta a segunda linha). No Windows PowerShell antigo (5.1), onde && não é interpretado, execute as duas metades uma de cada vez. Conecte antes de iniciar a sessão: clientes MCP carregam servidores na inicialização, então um servidor adicionado no meio da conversa não fica utilizável até um reinício. Em versões do Claude Code sem claude mcp login, inicie claude e autentique via /mcp.

stdio local. Este pacote npm. Usa uma chave de API pública do seu painel. Use quando seu cliente não suporta servidores MCP remotos com OAuth.

claude mcp add exit1 -- npx -y exit1-mcp
export EXIT1_API_KEY="ek_live_your_key_here"

Ambos expõem as mesmas ferramentas. O servidor hospedado é mais fácil; o stdio não tem etapa de navegador, o que algumas configurações tipo CI preferem.

Do zero ao monitorado

Conecte o servidor (acima), depois cole isto no Claude Code, Cursor, Codex ou qualquer assistente compatível com MCP, de dentro do seu projeto:

Set up uptime monitoring for this project with Exit1.

1. Call get_account to see my plan limits. If the Exit1 tools aren't available
   to you, don't try to connect from inside this session; tell me to add the
   HTTP MCP server https://app.exit1.dev/mcp/v1 in my tool, restart it, and
   paste this prompt again.
2. Read this repo to find what should be monitored: deployed URLs in vercel.json /
   next.config / wrangler.toml / .env.production / README, and any /health or
   /api/status route handlers.
3. Show me the checks you plan to create before creating them.
4. Configure email alerts, then send a test alert so I can confirm delivery works.

Uma vez conectado, o servidor também inclui um prompt setup_monitoring contendo o playbook completo — no Claude Code, /exit1:setup_monitoring.

Requisitos

  • Hospedado: uma conta Exit1. O cadastro acontece inline durante o fluxo OAuth.
  • stdio local: Node.js 18+, e uma chave de API do seu painel. Todo plano pode gerar uma chave, incluindo o Free.

Clientes suportados

ClienteHospedado (OAuth)stdio local
Claude Code✅✅
Claude Desktop✅✅
Cursor✅✅
VS Code (Copilot)✅✅
Windsurf⚠️ verifique a versão✅
Codex CLI⚠️ verifique a versão✅
Gemini CLI⚠️ verifique a versão✅
Goose⚠️ verifique a versão✅
ChatGPTvia conectorvia bridge mcp-remote

MCP remoto com OAuth ainda está sendo implementado gradualmente nos clientes. Onde ainda não é suportado, o caminho stdio abaixo funciona em todos os lugares.

Configuração stdio local

Claude Code

claude mcp add exit1 -- npx -y exit1-mcp

export EXIT1_API_KEY="ek_live_your_key_here"
claude

Claude Desktop

Adicione em ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "exit1": {
      "command": "npx",
      "args": ["-y", "exit1-mcp"],
      "env": {
        "EXIT1_API_KEY": "ek_live_your_key_here"
      }
    }
  }
}

Cursor

Adicione em .cursor/mcp.json no seu projeto (ou ~/.cursor/mcp.json globalmente). Mesma estrutura do Claude Desktop acima.

VS Code com Copilot

Execute MCP: Add Server na Paleta de Comandos, escolha Command (stdio), insira npx -y exit1-mcp. O VS Code usa uma chave servers em vez de mcpServers:

{
  "servers": {
    "exit1": {
      "command": "npx",
      "args": ["-y", "exit1-mcp"],
      "env": {
        "EXIT1_API_KEY": "ek_live_your_key_here"
      }
    }
  }
}

Windsurf / Gemini CLI / Goose

Mesmo bloco mcpServers do Claude Desktop, em mcp_config.json (configurações do Windsurf › MCP), ~/.gemini/settings.json, ou via goose mcp add exit1 -- npx -y exit1-mcp. Reinicie a IDE ou o CLI depois.

Codex CLI

codex mcp add exit1 -- npx -y exit1-mcp
export EXIT1_API_KEY="ek_live_your_key_here"
codex

ChatGPT

Conecte o servidor stdio com mcp-remote, depois adicione em Settings › Connectors.

Ferramentas

FerramentaEscopoDescrição
get_accountchecks:readPlano, limites e uso atual. Chame isto primeiro ao configurar.
list_checkschecks:readLista checks com status atual.
get_checkchecks:readDetalhe de um check, incluindo estado SSL.
get_check_historychecks:readResultados individuais ao longo do tempo.
get_check_statschecks:readPercentual de uptime e tempos de resposta em intervalos.
get_status_pagechecks:readSnapshot de uma página de status pública.
create_checkchecks:writeCria um monitor (website, API, ping, TCP, DNS, domínio, heartbeat).
update_checkchecks:writeAltera as configurações de um check existente.
toggle_checkchecks:writePausa ou retoma um check.
delete_checkchecks:deleteRemove permanentemente um check.
get_alert_settingsalerts:readVeja para onde os alertas vão atualmente.
set_email_alertsalerts:writeDefine destinatários de e-mail e eventos.
add_webhook_alertalerts:writeConecta Slack, Discord, Teams ou um webhook genérico.
send_test_alertalerts:writeDispara um alerta de teste real.

O servidor hospedado solicita checks:read, checks:write, alerts:read e alerts:write por padrão — não checks:delete, que precisa ser solicitado explicitamente. Para o caminho stdio, marque os escopos desejados ao criar a chave de API.

Exemplos de prompts

  • "Configure monitoramento para este projeto."
  • "Algum dos meus monitores está fora do ar agora?"
  • "Qual é o uptime do meu check de API nos últimos 30 dias?"
  • "Mostre as últimas 10 falhas para produção."
  • "Adicione um check em staging.example.com e envie alertas para #ops no Slack."
  • "Compare os tempos de resposta desta semana com a semana passada."

Configuração

Variável de ambienteObrigatóriaDescrição
EXIT1_API_KEYapenas stdioSua chave de API Exit1 (ek_live_…)
EXIT1_API_URLNãoSubstitui a URL base da API (para desenvolvimento)

Gerenciando conexões

Conexões hospedadas estão listadas em app.exit1.dev/mcp e podem ser revogadas lá a qualquer momento. Revogar encerra imediatamente todos os tokens emitidos para aquele cliente.

Desenvolvimento

npm install
npm run build          # tsc -> dist/
npm test               # build, then drive a real MCP handshake over stdio
npm run check:catalog  # compare the tool catalog against the hosted server

npm test inicia o servidor compilado e verifica a superfície que um cliente realmente vê — a contagem de ferramentas, anotações readOnlyHint / destructiveHint, o prompt setup_monitoring, e que uma ferramenta desconhecida retorna isError em vez de um erro de protocolo. Não precisa de chave de API e não faz chamadas de rede.

Por que check:catalog existe

O catálogo de ferramentas é deliberadamente duplicado entre este pacote e o servidor OAuth hospedado, que vive em Mopra/exit1.dev em functions/src/mcp-tools.ts. Duas builds separadas, sem pacote compartilhado, nada em tempo de compilação ligando-os. npm run check:catalog falha se eles divergirem em nomes de ferramentas ou esquemas de entrada, e avisa sobre diferenças de redação. CI executa a cada push e uma vez por dia.

Altere uma ferramenta aqui, altere lá — e execute a verificação antes de lançar.

Para executar contra um checkout local em vez do GitHub:

CATALOG_REMOTE_PATH=../exit1.dev/functions/src/mcp-tools.ts npm run check:catalog

Lançamento

npm version patch          # or minor
npm publish                # prepublishOnly runs the build + smoke test
git push --follow-tags

Atualize version em server.json para corresponder, depois republica a entrada do registro (veja abaixo). A string version em src/index.ts é o que os clientes veem em serverInfo — mantenha-a em sincronia com package.json.

Registro MCP

server.json descreve ambos os caminhos de distribuição (o pacote npm e o endpoint hospedado) para o registro MCP oficial. O nome do registro é dev.exit1/exit1-mcp, o que exige comprovar controle de exit1.dev:

mcp-publisher login dns --domain=exit1.dev --private-key=HEX_KEY
mcp-publisher publish

A propriedade do npm é comprovada pelo campo mcpName em package.json, que deve permanecer igual a name em server.json.

Links rápidos

Siteexit1.dev — Conheça a plataformaRepo
App de Monitoramentoapp.exit1.dev — Entre e gerencie seus checksRepo
Documentaçãodocs.exit1.dev — Guias, referência de API e instruções de configuraçãoRepo
Servidor MCPexit1-mcp — este repositórioRepo

Também listado no registro MCP oficial como dev.exit1/exit1-mcp.

Licença

MIT — veja LICENSE.

O restante do exit1 é source-available em vez de open source; este pacote é a exceção, para que possa ser vendido e inspecionado livremente por clientes MCP.