exit1.dev
Monitoreo de disponibilidad desde tu agente de IA: crea y gestiona monitores HTTP, TCP, UDP, WebSocket e ICMP, consulta estadísticas e historial de disponibilidad, y configura alertas.
Documentación
exit1-mcp
Servidor MCP para el monitoreo de disponibilidad de Exit1. Permite que tu asistente de IA configure el monitoreo para el proyecto que acabas de lanzar: lee tu repositorio, crea las verificaciones, configura las alertas y envía una alerta de prueba real para demostrar que funciona; luego, pregúntale sobre la disponibilidad en lenguaje natural.
Dos formas de conectarse
Alojado (recomendado). Sin clave API, sin instalación de npm, sin requisito de plan para comenzar. Ejecuta esto en tu terminal antes de iniciar una sesión: el inicio de sesión abre tu navegador, inicias sesión (o te registras) con Clerk, apruebas y estás conectado.
claude mcp add --transport http exit1 https://app.exit1.dev/mcp/v1 && claude mcp login exit1
Una línea a propósito: pegar los dos comandos como líneas separadas no es confiable en algunos terminales (cmd.exe descarta la segunda línea). En Windows PowerShell antiguo (5.1), donde && no se analiza, ejecuta las dos mitades una a la vez. Conéctate antes de iniciar la sesión: los clientes MCP cargan los servidores al inicio, por lo que un servidor agregado a mitad de conversación no se puede usar hasta reiniciar. En versiones de Claude Code sin claude mcp login, inicia claude y autentícate mediante /mcp en su lugar.
Stdio local. Este paquete de npm. Utiliza una clave API pública de tu panel de control. Úsalo cuando tu cliente no admita servidores MCP remotos con OAuth.
claude mcp add exit1 -- npx -y exit1-mcp
export EXIT1_API_KEY="ek_live_your_key_here"
Ambos exponen las mismas herramientas. El servidor alojado es más fácil; el stdio no tiene paso de navegador, lo que algunas configuraciones similares a CI prefieren.
De cero a monitoreado
Conecta el servidor (arriba), luego pega esto en Claude Code, Cursor, Codex o cualquier asistente compatible con MCP, desde dentro de tu proyecto:
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.
Una vez conectado, el servidor también incluye un prompt setup_monitoring que contiene el manual completo: en Claude Code, /exit1:setup_monitoring.
Requisitos
- Alojado: una cuenta de Exit1. El registro se realiza en línea durante el flujo de OAuth.
- Stdio local: Node.js 18+ y una clave API de tu panel de control. Cada plan puede generar una clave, incluido el gratuito.
Clientes compatibles
| Cliente | Alojado (OAuth) | Stdio local |
|---|---|---|
| Claude Code | ✅ | ✅ |
| Claude Desktop | ✅ | ✅ |
| Cursor | ✅ | ✅ |
| VS Code (Copilot) | ✅ | ✅ |
| Windsurf | ⚠️ verificar versión | ✅ |
| Codex CLI | ⚠️ verificar versión | ✅ |
| Gemini CLI | ⚠️ verificar versión | ✅ |
| Goose | ⚠️ verificar versión | ✅ |
| ChatGPT | mediante conector | mediante puente mcp-remote |
El MCP remoto con OAuth aún se está implementando en todos los clientes. Donde aún no es compatible, la ruta stdio a continuación funciona en todas partes.
Configuración de stdio local
Claude Code
claude mcp add exit1 -- npx -y exit1-mcp
export EXIT1_API_KEY="ek_live_your_key_here"
claude
Claude Desktop
Agrega a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %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
Agrega a .cursor/mcp.json en tu proyecto (o ~/.cursor/mcp.json globalmente). Misma forma que Claude Desktop arriba.
VS Code con Copilot
Ejecuta MCP: Agregar servidor desde la Paleta de comandos, elige Comando (stdio), ingresa npx -y exit1-mcp. VS Code usa una clave servers en lugar de mcpServers:
{
"servers": {
"exit1": {
"command": "npx",
"args": ["-y", "exit1-mcp"],
"env": {
"EXIT1_API_KEY": "ek_live_your_key_here"
}
}
}
}
Windsurf / Gemini CLI / Goose
Mismo bloque mcpServers que Claude Desktop, en mcp_config.json (Configuración de Windsurf › MCP), ~/.gemini/settings.json, o mediante goose mcp add exit1 -- npx -y exit1-mcp. Reinicia el IDE o CLI después.
Codex CLI
codex mcp add exit1 -- npx -y exit1-mcp
export EXIT1_API_KEY="ek_live_your_key_here"
codex
ChatGPT
Conecta el servidor stdio con mcp-remote, luego agrégalo en Configuración › Conectores.
Herramientas
| Herramienta | Alcance | Descripción |
|---|---|---|
get_account | checks:read | Plan, límites y uso actual. Llama a esto primero al configurar. |
list_checks | checks:read | Lista verificaciones con estado actual. |
get_check | checks:read | Detalle de una verificación, incluido el estado SSL. |
get_check_history | checks:read | Resultados individuales a lo largo del tiempo. |
get_check_stats | checks:read | % de disponibilidad y tiempos de respuesta en rangos. |
get_status_page | checks:read | Instantánea de una página de estado pública. |
create_check | checks:write | Crea un monitor (sitio web, API, ping, TCP, DNS, dominio, heartbeat). |
update_check | checks:write | Cambia la configuración de una verificación existente. |
toggle_check | checks:write | Pausa o reanuda una verificación. |
delete_check | checks:delete | Elimina permanentemente una verificación. |
get_alert_settings | alerts:read | Ve a dónde van las alertas actualmente. |
set_email_alerts | alerts:write | Configura destinatarios de correo y eventos. |
add_webhook_alert | alerts:write | Conecta Slack, Discord, Teams o un webhook genérico. |
send_test_alert | alerts:write | Envía una alerta de prueba real. |
El servidor alojado solicita checks:read, checks:write, alerts:read y alerts:write por defecto, no checks:delete, que debe solicitarse explícitamente. Para la ruta stdio, marca los alcances que desees al crear la clave API.
Ejemplos de prompts
- "Configura el monitoreo para este proyecto."
- "¿Alguno de mis monitores está caído ahora mismo?"
- "¿Cuál es la disponibilidad de mi verificación de API en los últimos 30 días?"
- "Muéstrame las últimas 10 fallas de producción."
- "Agrega una verificación en staging.example.com y envía alertas a #ops en Slack."
- "Compara los tiempos de respuesta de esta semana vs la semana pasada."
Configuración
| Variable de entorno | Requerida | Descripción |
|---|---|---|
EXIT1_API_KEY | solo stdio | Tu clave API de Exit1 (ek_live_…) |
EXIT1_API_URL | No | Anula la URL base de la API (para desarrollo) |
Gestión de conexiones
Las conexiones alojadas se listan en app.exit1.dev/mcp y se pueden revocar allí en cualquier momento. Revocar elimina inmediatamente todos los tokens emitidos para ese cliente.
Desarrollo
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 genera el servidor compilado y verifica la superficie que un cliente realmente ve: el
recuento de herramientas, las anotaciones readOnlyHint / destructiveHint, el prompt setup_monitoring, y que una
herramienta desconocida devuelve isError en lugar de un error de protocolo. No necesita clave API y no realiza
llamadas de red.
Por qué existe check:catalog
El catálogo de herramientas está deliberadamente duplicado entre este paquete y el servidor OAuth alojado,
que vive en Mopra/exit1.dev en
functions/src/mcp-tools.ts. Dos compilaciones separadas, sin paquete compartido, nada en tiempo de compilación
que las vincule. npm run check:catalog falla si se desvían en nombres de herramientas o esquemas de entrada,
y advierte sobre diferencias de redacción. CI lo ejecuta en cada push y una vez al día.
Cambia una herramienta aquí, cámbiala allí, y ejecuta la verificación antes de publicar.
Para ejecutarlo contra un checkout local en lugar de GitHub:
CATALOG_REMOTE_PATH=../exit1.dev/functions/src/mcp-tools.ts npm run check:catalog
Publicación
npm version patch # or minor
npm publish # prepublishOnly runs the build + smoke test
git push --follow-tags
Aumenta version en server.json para que coincida, luego vuelve a publicar la entrada del registro (ver
abajo). La cadena version en src/index.ts es lo que los clientes ven en
serverInfo: mantenla en sintonía con package.json.
Registro MCP
server.json describe ambas rutas de distribución (el paquete npm y el endpoint alojado) para el
registro MCP oficial. El nombre del registro es
dev.exit1/exit1-mcp, lo que requiere demostrar control de exit1.dev:
mcp-publisher login dns --domain=exit1.dev --private-key=HEX_KEY
mcp-publisher publish
La propiedad de npm se demuestra mediante el campo mcpName en package.json, que debe permanecer igual a name
en server.json.
Enlaces rápidos
| Sitio web | exit1.dev — Conoce la plataforma | Repositorio |
| Aplicación de monitoreo | app.exit1.dev — Inicia sesión y gestiona tus verificaciones | Repositorio |
| Documentación | docs.exit1.dev — Guías, referencia de API e instrucciones de configuración | Repositorio |
| Servidor MCP | exit1-mcp — este repositorio | Repositorio |
También listado en el registro MCP oficial como dev.exit1/exit1-mcp.
Licencia
MIT — ver LICENCIA.
El resto de exit1 es de código fuente disponible en lugar de código abierto; este paquete es la excepción, por lo que puede ser vendido e inspeccionado libremente por los clientes MCP.