Better Stack + AI in 60 seconds
Unofficial. Community-built Claude Code Skill and MCP server for the Better Stack API. Not affiliated with, endorsed by, or sponsored by Better Stack.
Awaiting live verification - passes every mechanical gate (build, command-surface, claims, install). Be the first to confirm it against your tenant: report it works.
Ask your AI “what’s down and is anyone actually paged?” and get a straight answer across your whole Better Stack account: every client’s monitors, heartbeats, open incidents, and on-call rotation in one view. It surfaces the silent monitors that page nobody, the noisy ones waking techs at 3am, your real MTTA/MTTR, and status pages showing green while a monitor is down.
New to the term? An MCP server is the same thing ChatGPT calls an app or connector, Claude on the web calls a connector, and Claude Code calls a Skill. One thing, many names →
Install in 60s → View on GitHub →
Instead of clicking through Better Stack, just ask
Instead of Open the Better Stack dashboard and click into each monitor by hand to check which ones actually have an escalation policy attached
just ask: “Which monitors would page nobody if they went down right now?”
Your agent runs: betterstack-cli coverage
Instead of Export the last month of incidents to a spreadsheet to work out your average acknowledge and resolve times for the QBR
just ask: “What was our MTTA and MTTR over the last 30 days, by monitor?”
Your agent runs: betterstack-cli mttr --days 30 --by-monitor --top 10
Instead of Keep the incident list open in one tab and the on-call calendar in another to see what’s down and whether anyone is on for it
just ask: “What’s down right now and is anyone actually paged?”
Your agent runs: betterstack-cli down
See it in 30 seconds
Demo data is simulated. Every command shown exists in the real CLI.
What it does
| Question your MSP keeps asking | Command your agent runs |
|---|---|
| What’s down right now and is anyone actually paged? | betterstack-cli down |
| Which monitors would page nobody if they failed? | betterstack-cli coverage |
| What’s our MTTA and MTTR over the last 30 days, by monitor? | betterstack-cli mttr --days 30 --by-monitor --top 10 |
| Which monitors are the noisiest over the last week? | betterstack-cli flapping --days 7 --top 10 |
| Is anyone actually on call right now, or is there a gap? | betterstack-cli oncall-gaps |
| Which heartbeats are most at risk of a silent miss? | betterstack-cli heartbeat-risk --top 10 |
| Are any status pages green while a monitor has an open incident? | betterstack-cli statuspage-audit |
| How healthy is each client group right now? | betterstack-cli group-health |
| Give me one health board for the whole account. | betterstack-cli fleet |
| Which open incidents are oldest and still unacknowledged? | betterstack-cli triage |
Full command reference at github.com/servosity/msp-skills/blob/main/skills/betterstack/guide.md.
What makes this one different
Most Better Stack integrations proxy each question into a live API call - fine for one monitor, useless when you ask about the whole fleet. This skill syncs Better Stack into a local SQLite mirror and answers cross-resource questions - coverage gaps, MTTA/MTTR, flapping, on-call gaps, status-page drift - as one offline join the live API can’t express in a single call.
The Better Stack dashboard shows one monitor, one incident, one status page at a time. This skill answers the questions that span all of them at once - what’s down and who’s paged, where coverage is missing, which monitors are noisy - from a local mirror your AI can query without clicking through the portal.
The pain this closes
- A monitor with no escalation policy goes down at 2am and pages nobody. You find out when the client calls. Across dozens of client accounts, nobody can hand-check which monitors are actually wired to alert someone.
- Flapping monitors wake the on-call tech for nothing, night after night, until alert fatigue sets in and a real outage gets ignored in the noise.
- Your public status page still reads “all systems operational” while a backing monitor has an open incident, so the client sees green and then notices the outage themselves.
Install
Works in any of these agents - pick yours:
| Agent | Quick install |
|---|---|
| Claude Desktop | Step-by-step → |
| ChatGPT (Plus/Pro+) | Step-by-step → |
| Claude Code | Step-by-step → |
| Codex CLI | Step-by-step → |
| Cursor, Windsurf, Cline, Continue, Zed, Copilot, Gemini, Hermes, OpenClaw | Which agent? → |
Quickest path for everyone else (terminal):
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/servosity/msp-skills/main/skills/betterstack/install.sh)
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/servosity/msp-skills/main/skills/betterstack/install.ps1 | iex
After install, authenticate once with your Better Stack credentials, then verify with betterstack-cli --version.
Safety model
| Tier | Examples | Recommended agent policy |
|---|---|---|
| Read | fleet, down, coverage, mttr, flapping, oncall-gaps, heartbeat-risk, statuspage-audit, group-health, triage, search, and every list/get command | Allow |
| Write (routine) | monitors create/update, heartbeats create/update, monitor-groups create, heartbeat-groups create, policies create, status-pages create, status-page-sections create, incidents acknowledge/resolve, import | Preview with –dry-run, then a reviewed write |
| Destructive / config | monitors delete, heartbeats delete, incidents delete, policies delete, status-pages delete, status-page-sections delete, status-page-resources delete, monitor-groups delete, heartbeat-groups delete | Human-in-the-loop only |
The skill reads your Better Stack monitors, heartbeats, incidents, on-call calendars, and status pages, and it can create or update monitors, heartbeats, groups, policies, and status-page sections, acknowledge or resolve incidents, bulk-import records, and delete resources. Reads are always safe to allow. Routine writes - creates, updates, incident acknowledge/resolve, and import - should be previewed with –dry-run and approved. Deletes are human-in-the-loop only. Full details in governance.md.
Frequently asked questions
Does this work with ChatGPT?
Yes, on paid ChatGPT plans. ChatGPT connects to remote MCP servers over HTTPS, so you expose the local Better Stack MCP server via a secure bridge. Step-by-step in the install guide.
Do I need to know how to code?
No. Paste one sentence into Claude Code or Codex and your agent does the install, or run a one-line installer. You enter your credentials once.
Is my Better Stack data safe?
Your data stays on your machine. The CLI, MCP server, and the local mirror are all local. The AI sees query results, not raw bulk data, and credentials are never bundled or transmitted by MSP Skills.
What does it cost?
Free. Apache-2.0 licensed. You pay only for whichever AI agent you already use.
Will this hit my Better Stack API rate limits?
No. The skill syncs once into a local SQLite mirror, then answers from local data, so repeated questions never touch the API. Only sync, live writes, and the status-page resource fan-out (used by statuspage-audit) call Better Stack.
Do I need a paid Better Stack plan?
You need a Better Stack account with an API token. The analytics run against whatever monitors, heartbeats, incidents, on-call calendars, and status pages your plan includes - the skill reads what your token can see.
Will this replace the Better Stack portal?
No, it complements it. The portal is still where you configure monitors and watch live. This skill answers the cross-account questions the portal makes you click through - coverage gaps, MTTA/MTTR, on-call gaps, status-page drift - from your AI.
Status
Beta. Validated against the Better Stack API surface and being validated with MSPs running it live against their own production tenants in our weekly Build Sessions.
Standards. Conforms to the open Agent Skills spec (Anthropic, Dec 2025; 40+ agents). MCP-compatible - works with any MCP-capable agent including Hermes. OpenClaw-ready (frontmatter pre-wired, awaiting OpenClaw launch).
Maintained by Servosity for the MSP community. Apache-2.0 licensed. Built with CLI Printing Press.