MCP-Server

betterstack

io.usefulapi/betterstack
Cloud & Infrastruktur Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Reads uptime monitors, incidents, heartbeats, on-call schedules, and status pages, and supports acknowledging and resolving incidents.

acknowledge_incident
Acknowledge an incident
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.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['incident_id', 'acknowledged_by'], '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.'}}}
get_incident
Get an incident
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}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['incident_id'], 'properties': {'incident_id': {'type': 'string', 'description': 'The incident id (from list_incidents).'}}}
get_monitor
Get a monitor
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}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['monitor_id'], 'properties': {'monitor_id': {'type': 'string', 'description': 'The monitor id (from list_monitors).'}}}
list_heartbeats
List heartbeats
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 250, 'description': 'Results per page.', 'exclusiveMinimum': 0}, 'team_name': {'type': 'string', 'description': 'Filter by team name (only when using a global API token).'}}}
list_incidents
List incidents
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive).'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 250, 'description': 'Results per page.', 'exclusiveMinimum': 0}, 'resolved': {'type': 'boolean', 'description': 'true = only resolved, false = only unresolved.'}, 'team_name': {'type': 'string', 'description': 'Filter by team name (only when using a global API token).'}, 'monitor_id': {'type': 'string', 'description': 'Only incidents for this monitor id.'}, 'acknowledged': {'type': 'boolean', 'description': 'true = only acknowledged, false = only unacknowledged.'}, 'heartbeat_id': {'type': 'string', 'description': 'Only incidents for this heartbeat id.'}}}
list_monitors
List monitors
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'url': {'type': 'string', 'description': 'Filter monitors by their monitored URL.'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 250, 'description': 'Results per page.', 'exclusiveMinimum': 0}, 'team_name': {'type': 'string', 'description': 'Filter by team name (only when using a global API token).'}, 'pronounceable_name': {'type': 'string', 'description': 'Filter monitors by their pronounceable name.'}}}
list_on_call
List on-call schedules
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 250, 'description': 'Results per page.', 'exclusiveMinimum': 0}, 'team_name': {'type': 'string', 'description': 'Filter by team name (only when using a global API token).'}}}
list_status_pages
List status pages
List public/private status pages with company name, subdomain, aggregate_state, and published flag. Uptime API: GET /api/v2/status-pages.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number for pagination (default 1).', 'exclusiveMinimum': 0}, 'per_page': {'type': 'integer', 'maximum': 250, 'description': 'Results per page.', 'exclusiveMinimum': 0}, 'team_name': {'type': 'string', 'description': 'Filter by team name (only when using a global API token).'}}}
resolve_incident
Resolve an incident
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.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['incident_id', 'resolved_by'], '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.'}}}
Geändert
resolve_incident
1. October 2026 02:42
Geändert
acknowledge_incident
1. October 2026 02:42
Geändert
list_status_pages
1. October 2026 02:42
Geändert
list_on_call
1. October 2026 02:42
Geändert
list_heartbeats
1. October 2026 02:42
Geändert
get_incident
1. October 2026 02:42
Geändert
list_incidents
1. October 2026 02:42
Geändert
get_monitor
1. October 2026 02:42
Geändert
list_monitors
1. October 2026 02:42
Hinzugefügt
resolve_incident
17. September 2026 12:53
Hinzugefügt
acknowledge_incident
17. September 2026 12:53
Hinzugefügt
list_status_pages
17. September 2026 12:53
Hinzugefügt
list_on_call
17. September 2026 12:53
Hinzugefügt
list_heartbeats
17. September 2026 12:53
Hinzugefügt
get_incident
17. September 2026 12:53
Hinzugefügt
list_incidents
17. September 2026 12:53
Hinzugefügt
get_monitor
17. September 2026 12:53
Hinzugefügt
list_monitors
17. September 2026 12:53