Connector guide11-minute read46 MCP tools7 languages

How to Connect Better Stack to Claude via MCP

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

HCBy HelpCode teamUpdated 11 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

Better Stack

Better Stack

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

tools

46

Region

INTL

Category

Monitoring

Authentication

Bearer Token

Required env vars

BETTER_STACK_API_TOKEN
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the Better Stack in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

AnythingMCP is listed in Claude's connector directory: add it to Claude in one click (opens in a new tab), then sign in and choose which MCP servers Claude may use.

Summary

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

Try asking

Example prompts for Better Stack

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

Better Stack · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Better Stack, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

Better Stack + Claude

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

BETTER_STACK_API_TOKEN

Step 1 — Get credentials

Setting up takes about 2 minutes. The connector uses the Better Stack Incidents API (formerly Better Uptime, https://incidents.betterstack.com/api).

  1. Open https://betterstack.com/settings/api-tokens/0, pick your team and copy or create a token under Incidents API tokens. This team-scoped token is the simplest choice.
  2. A global API token (https://betterstack.com/settings/global-api-tokens) also works and reaches every team. With it the AI passes team_name to filter lists, and it is required when creating monitors, heartbeats or incidents.
  3. Paste the token into BETTER_STACK_API_TOKEN. Writes need a token with write access.
  4. Install the connector and run better_stack_list_monitors to check the token.

What it reads:

  • Uptime monitors with status (up, down, paused, validating, maintenance), URL, type, frequency, regions and last check, one monitor's full configuration, its availability (SLA) for a date range and its response times per region over the last 24 hours. Monitor groups and the monitors in a group.
  • Heartbeats for cron jobs and background tasks with their ping URL, period, grace and status, their availability, and heartbeat groups.
  • Incidents, newest first, with cause, status, start, acknowledge and resolve times and who did it, filtered by date range, monitor, heartbeat, resolved or acknowledged; one incident with the failing response; its timeline of alerts, acknowledgements, escalations, comments and status page updates; and its comments.
  • Who is on call: on-call calendars with the person on call now, a calendar at a given moment (default for the team's default calendar), and the shifts in a time window. Escalation policies with their steps and the severities with their alert channels.
  • Status pages, the resources they show with availability and daily history, status reports and their updates.
  • Configuration: incoming and outgoing webhooks, Slack integrations and metadata records such as service owner or environment.

What it writes: monitors (better_stack_create_monitor, better_stack_update_monitor, better_stack_pause_monitor and better_stack_resume_monitor around planned work); heartbeats (better_stack_create_heartbeat returns the ping URL the job must call after each run, better_stack_update_heartbeat); incidents (better_stack_create_incident, better_stack_acknowledge_incident, better_stack_escalate_incident, better_stack_resolve_incident, better_stack_reopen_incident, better_stack_add_incident_comment); status pages (better_stack_create_status_report, better_stack_add_status_update as things change, better_stack_update_status_report to change the title or reschedule a maintenance).

Every tool is on at install, the writing ones included. Creating an incident, escalating it and publishing a status report alert real people or public subscribers, so the AI confirms with you first; notify_subscribers: false keeps a status report quiet. Resolving an incident of a monitor that still fails opens a new incident on its next check. A status report is closed by an update that sets every affected resource to resolved.

Data formats: answers follow JSON:API: data (one object or a list) with id, type, attributes and relationships; related users and status updates come in included. Ids are numeric strings. Times are ISO 8601 in UTC; date filters (from, to) take YYYY-MM-DD. Availability is a percentage (99.98); downtime, incident lengths and response times are in seconds. Incident status is Started, Acknowledged or Resolved. Monitor passwords, Playwright environment variables and policy incident tokens are left out of the answers.

Paging: lists return pagination.next, a URL that is null on the last page; the AI calls again with page set to the page number in that URL. per_page is 50 by default and up to 250; incidents default to 10 and allow 50.

Common errors: 401 means a wrong or revoked token, or a Telemetry token instead of an Incidents one. 403 is a token without write access, 404 an unknown id or an id of another team, 422 a validation error whose errors names the field, 429 the rate limit.

The connector does not cover Better Stack Telemetry (logs, metrics, dashboards) and does not delete monitors, heartbeats, incidents or status pages.

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Claude

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Recommended path: works on claude.ai web without editing any config file.

  1. In Claude, open Customize → Connectors.
  2. Click +, then Add custom connector.
  3. Enter a name, e.g. Better Stack, and the remote MCP server URL https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID, then click Add.
  4. Click Connect and sign in to AnythingMCP (OAuth) to allow access.

All tools below appear in your chat: start typing prompts.

Available tools

ToolWhat it does
better_stack_list_monitorsList the team's uptime monitors with their status (up, down, paused, validating, maintenance), URL, type, check frequency, regions and last…
better_stack_get_monitorGet one monitor with its full configuration: type, URL, status, check frequency, regions, alert channels, escalation policy, maintenance…
better_stack_create_monitorCreate an uptime monitor: an HTTP check (status, expected status code, keyword present or absent), a server or port check (ping, TCP, UDP…
better_stack_update_monitorChange a monitor: only the fields you pass are updated (URL, name, frequency, regions, alert channels, escalation policy, group…
better_stack_pause_monitorPause a monitor: Better Stack stops checking it and sends no alerts until it is resumed
better_stack_resume_monitorResume a paused monitor: checks and alerts start again with the monitor's existing settings
better_stack_get_monitor_availabilityAvailability summary (SLA) of a monitor for a date range: availability percentage, total downtime in seconds, number of incidents, longest…
better_stack_get_monitor_response_timesResponse times of a monitor's checks over the last 24 hours, per region, oldest first: the total response time in seconds for each check
better_stack_list_monitor_groupsList the monitor groups (the folders monitors are sorted into on the dashboard), with their name, paused flag and team
better_stack_get_monitor_groupGet one monitor group by id: its name, sort index, paused flag, team and timestamps
better_stack_list_monitor_group_monitorsList the monitors inside one monitor group, with the same fields as better_stack_list_monitors; paged with page and per_page
better_stack_list_heartbeatsList heartbeat (cron job) monitors: name, status, expected period and grace in seconds, the ping URL the job must call, paused flag and…
better_stack_get_heartbeatGet one heartbeat monitor with its ping URL, period, grace, status, alert channels, escalation policy and maintenance window
better_stack_create_heartbeatCreate a heartbeat monitor for a cron job or background task
better_stack_update_heartbeatChange a heartbeat monitor: name, period, grace, alert channels, group, escalation policy, or pause and resume it with paused
better_stack_get_heartbeat_availabilityAvailability summary of a heartbeat for a date range: availability percentage, total downtime in seconds, number of incidents, longest and…
better_stack_list_heartbeat_groupsList the heartbeat groups, with their name, paused flag, sort index and team
better_stack_list_incidentsList incidents, newest first: name, cause, status (Started, Acknowledged, Resolved), start, acknowledge and resolve times and who did it…
better_stack_get_incidentGet one incident with its cause, status, timestamps, who acknowledged and resolved it, alert channels, escalation policy, metadata and the…
better_stack_get_incident_timelineTimeline of an incident, newest first: alerts sent, acknowledgements, escalations, comments, status page updates and the captured responses
better_stack_create_incidentOpen a manual incident and alert the on-call person through the chosen channels (call, SMS, e-mail, push), optionally escalating with a…
better_stack_acknowledge_incidentAcknowledge an ongoing incident: further escalation stops while the incident stays open until it is resolved
better_stack_resolve_incidentResolve an ongoing incident
better_stack_reopen_incidentReopen a resolved incident, for example when the problem came back right after it was marked as resolved
better_stack_escalate_incidentEscalate an ongoing incident to a team member, a team, an on-call calendar, an escalation policy or the whole organization, choosing the…
better_stack_list_incident_commentsList the comments posted on an incident, with their text (Markdown), author and timestamps
better_stack_add_incident_commentPost a comment on an incident, for example a status note or the root cause; it appears in the incident timeline
better_stack_list_on_call_calendarsList on-call calendars (schedules) with their name, team and whether each is the team's default, plus who is on call right now
better_stack_get_on_call_calendarWho is on call on a calendar, now or at a given date and time: names, e-mails, phone numbers and holiday status of the on-call users
better_stack_list_on_call_eventsList the shifts of an on-call calendar in a time window: who is on call (e-mails), start and end time, and whether the shift is an override
better_stack_list_escalation_policiesList escalation policies with their steps (who is alerted, after how many minutes, with which severity), repeat settings and fallback policy
better_stack_get_escalation_policyGet one escalation policy with its ordered steps, step members (users, on-call, Slack, webhooks), wait times, repeat count and fallback…
better_stack_list_severitiesList the severities (urgencies) of the team, with the alert channels each one uses (call, SMS, e-mail, push, critical alert)
better_stack_list_status_pagesList the status pages: company name, subdomain and custom domain, published flag, overall state (operational, degraded, downtime…
better_stack_get_status_pageGet one status page with its domain, overall state, published and subscribable flags, history length, design and access settings
better_stack_list_status_page_resourcesList the resources shown on a status page (monitors, heartbeats, groups) with their public name, current status, availability and daily…
better_stack_list_status_reportsList the status reports (incident announcements and maintenance windows) on a status page with title, type, start and end, affected…
better_stack_get_status_reportGet one status report on a status page with its type, start and end, affected resources, overall state and its status updates (in…
better_stack_create_status_reportPublish a status report on a public status page: an incident announcement or a planned maintenance, with the affected resources and a first…
better_stack_update_status_reportChange a status report's title or its start and end time, for example to reschedule a maintenance
better_stack_list_status_updatesList the status updates posted on a status report, with message, publish time, affected resources and whether subscribers were notified
better_stack_add_status_updatePost a new update on a status report, e.g. investigating, identified, monitoring or resolved; set every affected resource to resolved to…
better_stack_list_incoming_webhooksList the incoming webhook integrations that open and resolve incidents from other tools, with their name, URL and the rules for starting…
better_stack_list_outgoing_webhooksList the outgoing webhook integrations that Better Stack calls on incident and monitor events, with their name, target URL and triggers
better_stack_list_slack_integrationsList the Slack integrations of the team: workspace, channel and the kinds of notifications sent there
better_stack_list_metadataList metadata records (key and values) attached to monitors, heartbeats, incidents and integrations, e.g. service owner or environment…

Example prompts

  • "Is anything down right now? List the monitors that are down with their URL and last check."
  • "What was the availability of the monitor for https://shop.example.com last month, and what was the longest incident?"
  • "Who is on call on the default calendar this Saturday at 22:00?"
  • "Show the open incidents with their cause and timeline, then acknowledge the one on the payments API."
  • "Post a planned maintenance on our status page for Sunday 02:00 to 03:00 UTC affecting the API, without notifying subscribers. Show me the text first."

FAQ

Does it work with Claude Code as well as Claude Desktop? Yes, point both at https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID.

Next steps

Was this guide helpful?

Your Better Stack agent is one click away.

Install the connector, paste the key, prompt Claude. Free for 7 days, no credit card.

Related guides

Connectors

Better Stack to MCP: Uptime Monitors, Heartbeats, Incidents, On-Call and Status Pages in any AI Agent

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

Connectors

How to Connect Better Stack to ChatGPT via MCP

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

Connectors

How to Connect Better Stack to Microsoft Copilot via MCP

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

Connectors

How to Connect Better Stack to Cursor via MCP

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

Connectors

How to Connect Better Stack to Gemini via MCP

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.

Connectors

How to Connect Better Stack to Meta Muse via MCP

Better Stack uptime monitoring and incident management: monitors and heartbeats with availability and response times, incidents with acknowledge, escalate and resolve, on-call calendars, escalation policies, status pages and status reports, and the configured integrations.