betterstack
Read monitors, incidents, heartbeats, on-call and status pages; acknowledge or resolve incidents.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen list_monitors
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"betterstack": {
"url": "https://betterstack.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://betterstack.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (9)
🟢list_monitors(url, pronounceable_name, team_name, page, per_page)
List uptime monitors with their status (up/down/paused/pending/maintenance/validating), check frequency, and alert settings. Good first call to discover what is being monitored. Uptime API: GET /api/v2/monitors.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"description": "Filter monitors by their monitored URL.",
"type": "string"
},
"pronounceable_name": {
"description": "Filter monitors by their pronounceable name.",
"type": "string"
},
"team_name": {
"description": "Filter by team name (only when using a global API token).",
"type": "string"
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"per_page": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_monitor(monitor_id)
Get a single monitor by id, including current status, last_checked_at, SSL/HTTP settings, regions, and alerting configuration. Uptime API: GET /api/v2/monitors/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"monitor_id": {
"type": "string",
"description": "The monitor id (from list_monitors)."
}
},
"required": [
"monitor_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_incidents(from, to, monitor_id, heartbeat_id, resolved, ...)
List incidents (alerts triggered by monitors/heartbeats), filterable by date range, monitor, and acknowledged/resolved state. Each incident carries cause, started_at, acknowledged_at, resolved_at. Uptime API: GET /api/v3/incidents.
Esquema de entrada
{
"type": "object",
"properties": {
"from": {
"description": "Start date yyyy-mm-dd (inclusive).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"to": {
"description": "End date yyyy-mm-dd (inclusive).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"monitor_id": {
"description": "Only incidents for this monitor id.",
"type": "string"
},
"heartbeat_id": {
"description": "Only incidents for this heartbeat id.",
"type": "string"
},
"resolved": {
"description": "true = only resolved, false = only unresolved.",
"type": "boolean"
},
"acknowledged": {
"description": "true = only acknowledged, false = only unacknowledged.",
"type": "boolean"
},
"team_name": {
"description": "Filter by team name (only when using a global API token).",
"type": "string"
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"per_page": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_incident(incident_id)
Get a single incident by id, including cause, status, timeline timestamps (started/acknowledged/resolved), who acknowledged/resolved it, and the related monitor. Uptime API: GET /api/v3/incidents/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"incident_id": {
"type": "string",
"description": "The incident id (from list_incidents)."
}
},
"required": [
"incident_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_heartbeats(team_name, page, per_page)
List heartbeats (cron/background-job monitors that expect a periodic ping), with period, grace, and status (up/down/paused/pending). Uptime API: GET /api/v2/heartbeats.
Esquema de entrada
{
"type": "object",
"properties": {
"team_name": {
"description": "Filter by team name (only when using a global API token).",
"type": "string"
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"per_page": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_on_call(team_name, page, per_page)
List on-call calendars/schedules and the users currently on call for escalation. Useful to see who gets paged. Uptime API: GET /api/v2/on-calls.
Esquema de entrada
{
"type": "object",
"properties": {
"team_name": {
"description": "Filter by team name (only when using a global API token).",
"type": "string"
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"per_page": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_status_pages(team_name, page, per_page)
List public/private status pages with company name, subdomain, aggregate_state, and published flag. Uptime API: GET /api/v2/status-pages.
Esquema de entrada
{
"type": "object",
"properties": {
"team_name": {
"description": "Filter by team name (only when using a global API token).",
"type": "string"
},
"page": {
"description": "Page number for pagination (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"per_page": {
"description": "Results per page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡acknowledge_incident(incident_id, acknowledged_by)
Acknowledge an ongoing incident, signalling that someone is looking into it (stops further escalation). Idempotent-ish: acknowledging an already-acknowledged incident returns HTTP 409. Uptime API: POST /api/v3/incidents/{id}/acknowledge.
Esquema de entrada
{
"type": "object",
"properties": {
"incident_id": {
"type": "string",
"description": "The incident id to acknowledge (from list_incidents)."
},
"acknowledged_by": {
"type": "string",
"description": "User e-mail or a custom identifier of who is acknowledging the incident."
}
},
"required": [
"incident_id",
"acknowledged_by"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡resolve_incident(incident_id, resolved_by)
Resolve an ongoing incident, marking it as handled/closed. Idempotent-ish: resolving an already-resolved incident returns HTTP 409. Uptime API: POST /api/v3/incidents/{id}/resolve.
Esquema de entrada
{
"type": "object",
"properties": {
"incident_id": {
"type": "string",
"description": "The incident id to resolve (from list_incidents)."
},
"resolved_by": {
"type": "string",
"description": "User e-mail or a custom identifier of who is resolving the incident."
}
},
"required": [
"incident_id",
"resolved_by"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Prompts recomendados
get_monitorget_monitorlist_monitorslist_monitorslist_monitorsget_monitorComunidad
Evidencia