
Better Stack MCP
io.github.ServosityPublished by GitHub account Servosityv0.1.8Updated Nov 5, 2026
Every Better Stack Uptime feature, plus an offline SQLite mirror and cross-resource fleet analytics
Overview
Unofficial local MCP server that mirrors Better Stack Uptime data into SQLite so an assistant can answer fleet-wide monitoring, on-call and incident questions.
- What you can do
- Query uptime state: what is down, which monitors would page nobody, on-call gaps, heartbeat risk, group health and a whole-account fleet board
- Analyze incidents: MTTA/MTTR by monitor, flapping/noise rankings, triage of oldest unacknowledged incidents, status-page drift audits
- Search and list monitors, heartbeats, incidents, escalation policies, on-call calendars and status pages from a local full-text mirror
- Create and update monitors, heartbeats, groups, policies, status pages and sections, acknowledge or resolve incidents, and import data
- Sync Better Stack into a local SQLite store so repeated aggregate questions run offline without extra API calls
- When to use it
- Useful for MSPs and teams running many Better Stack monitors who want an assistant to answer cross-resource questions the portal makes you click through: coverage gaps, alert noise, on-call coverage, MTTA/MTTR and status-page accuracy.
- Requirements
- Runs as a local process (stdio) on desktop agents; a .mcpb bundle for Claude Desktop or a CLI installer is used. Needs a Better Stack account and the BETTERSTACK_API_TOKEN secret; BETTERSTACK_BASE_URL defaults to the public API. HTTP mode additionally needs BETTERSTACK_MCP_HTTP_TOKEN and TLS options.
Installation
In SourceWeft
- Open Better Stack MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Better Stack + AI - for Claude, the ChatGPT desktop app, GitHub Copilot, Gemini CLI, and any agent that speaks MCP
Unofficial. Community-built Claude Code Skill and MCP server for the Better Stack API. Not affiliated with, endorsed by, or sponsored by Better Stack.
[Better Stack demo - animated preview]
▶ Watch the 30-second demo - demo data is simulated; every command shown exists in the real CLI.
Every Better Stack Uptime feature, plus an offline SQLite mirror and cross-resource fleet analytics - what's down and who's paged, coverage gaps, MTTA/MTTR, flapping, on-call gaps, and status-page drift - that the API alone can't answer. Works with the AI you already use - ChatGPT (desktop app), Claude Desktop, Codex, Claude Code, Claude Cowork, and GitHub Copilot - plus Gemini CLI. Free, open source, runs on your laptop. Built for MSP owners. No code required.
Works with your agent
Security note. Local agents use the default stdio transport and need no network listener. HTTP mode (
--transport http, for remote agents) refuses to start untilBETTERSTACK_MCP_HTTP_TOKENis set, rejects any request without that bearer token, serveshttp://127.0.0.1:7777/mcpby default, and needs--tls-certand--tls-keyfor any other address. Whoever holds the token can call every tool with your Better Stack credentials.
The six agents MSP owners actually use (self-serve, works today):
The ChatGPT desktop app runs betterstack-mcp locally and shares MCP configuration with Codex (OpenAI). ChatGPT on the web needs a remote server, which msp-skills does not support yet. If your team works there, a hosted gateway is the better pick; check that your AI app is on the gateway's setup list.
Also for the Microsoft and Google stacks
Big install base, but an honest heads-up: Gemini CLI runs the local binary you just installed, while Microsoft 365 Copilot and the Gemini app need a remote server, which msp-skills does not support yet.
Skill-native agents (also covered): Hermes and OpenClaw read this skill's
SKILL.mddirectly and speak MCP - see their install sections below. Also works with Cursor, Windsurf, Cline, Continue.dev, and Zed via MCP. Full per-tool wire-up: docs/which-agent.md.
Run more than one agent? Install across all 51+ supported agents in one command:
npx skills add Servosity/msp-skills@latest(requires Node.js, then run the per-skill installer for the CLI/MCP binaries). See docs/which-agent.md.
Install in 60 seconds
Fastest for Claude Desktop - one-click .mcpb
Claude Desktop bundle: the
.mcpblaunches on macOS (Intel and Apple Silicon), Windows x64 and Linux x64. Every tool shells out to the companionbetterstack-cli. Releases cut from 2026-09-18 on ship that CLI inside the bundle; older bundles contain only the MCP server, so if yours lacks the companion, run the Path A or Path B installer below first (or setBETTERSTACK_CLI_PATHto an existing binary). Details: #331.
Download Better Stack MCP (.mcpb) - then open Claude Desktop > Settings > Extensions and select the file. One click, no JSON, no shell. (Browse every Better Stack release on the releases page.)
Prefer the Claude Code plugin? Add the marketplace once, then install - works immediately, no directory listing required:
Path A - paste one prompt into your AI agent (recommended)
Copy this into Claude Code, Codex CLI, or Claude Cowork:
Install the Better Stack Skill and MCP server from Servosity/msp-skills in this agent workspace. If this workspace uses a POSIX shell (macOS, Linux, WSL, or Bash), run
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/betterstack/install.sh). If it uses Windows PowerShell, runiwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/betterstack/install.ps1 | iex. Then authenticate per the README and runbetterstack-cli --helpto explore.
The same prompt works in any agent that can run shell.
Path B - run the installer yourself
Windows (PowerShell):
macOS / Linux:
The installer drops both betterstack-cli (the CLI) and betterstack-mcp (the MCP server) into your user bin path. Claude Code, Codex, and Cowork discover the Skill via SKILL.md in this directory.
Verify:
Upgrade to the latest version
The installer always fetches the current release - re-run it to upgrade:
macOS / Linux:
Windows (PowerShell):
Claude Desktop .mcpb users: download the latest .mcpb (top of this section) and re-select it in Settings > Extensions. Claude Code plugin users: /plugin update betterstack@msp-skills.
Add to Claude Desktop, the ChatGPT desktop app, GitHub Copilot, Gemini CLI, or another MCP client
After the installer runs, see mcp-install.md and docs/which-agent.md for the per-agent wire-up - one section per agent, including the GitHub Copilot servers key and the ChatGPT desktop app. Claude Desktop's Settings > Extensions panel is the simplest path; the MCP config block (for users who prefer editing JSON) is documented in mcp-install.md.
Install for Hermes
From the Hermes CLI:
Inside a Hermes chat session:
Hermes speaks MCP natively, so it can also use the betterstack-mcp server directly - same install path, same env vars.
Install for OpenClaw
Tell your OpenClaw agent (copy this):
Install the betterstack skill from https://github.com/servosity/msp-skills/tree/main/skills/betterstack. The skill defines how its required CLI (
betterstack-cli) can be installed via theopenclaw:frontmatter block.
OpenClaw isn't generally available yet; the frontmatter wiring is pre-shipped and will activate the moment OpenClaw launches.
Authenticate
Set the credentials the CLI needs (from your Better Stack portal):
doctor confirms the credentials work before you run anything that touches data. It exits 0 even when the credential is rejected, so scripts should add --fail-on error.
What this skill does
Full command reference: guide.md. For the AI-agent operating contract (--agent, --dry-run, when to confirm before mutating), see AGENTS.md.
What makes this different
Most Better Stack integrations and MCP servers proxy each question into a live API call. That's fine for one record. It dies at scale, when you're asking "which of my 200 monitors across every client would page nobody if they failed?" or "what was our real MTTA/MTTR last quarter, by monitor?".
This skill syncs Better Stack into a local SQLite mirror with full-text search. Aggregate questions become one local SQL join: instant, offline, and the AI sees the answer, not the raw data. Compound commands like coverage, mttr, and statuspage-audit join across monitors, heartbeats, incidents, escalation policies, on-call calendars, and status pages - work a stateless API wrapper can't do.
The pain this closes
Monitoring sprawl and alert fatigue are a standing complaint in MSP communities - r/msp and MSPGeek threads on "monitoring noise," "alert fatigue," and "who's actually getting paged" recur constantly. Across dozens of client accounts:
- A monitor with no escalation policy goes down at 2am and pages nobody. You find out when the client calls.
betterstack-cli coveragelists every monitor that would page nobody if it failed. - Flapping monitors wake the on-call tech night after night until alerts get ignored.
betterstack-cli flapping --days 7 --top 10ranks the noisiest sources. - A rotation has nobody on call right now.
betterstack-cli oncall-gapsflags it. - Your status page reads "operational" while a backing monitor has an open incident.
betterstack-cli statuspage-auditcatches the drift. - QBR time, and you need real numbers.
betterstack-cli mttr --days 30 --by-monitorcomputes MTTA/MTTR from the local mirror.
See pain-point.md for the longer narrative.
Frequently asked questions
Does this work with ChatGPT?
Yes, in the ChatGPT desktop app. It runs MCP servers locally (STDIO), the way betterstack-mcp runs, and shares MCP configuration with Codex (OpenAI): add betterstack-mcp under Settings > MCP servers as a STDIO server, or add it once to Codex's ~/.codex/config.toml. ChatGPT on the web is not supported by msp-skills yet: it needs a remote server. If your team works there, a hosted gateway is the better pick; check that your AI app is on the gateway's setup list.
Does this work with Codex, Cursor, Windsurf, Cline, Copilot, or Gemini?
Yes - all of them speak MCP. Cross-tool install commands are in the matrix above and the deep-dive in docs/which-agent.md.
Do I need to know how to code?
No. The recommended install is to paste one sentence into Claude Code or Codex - your agent reads SKILL.md and does the install. The fallback is a one-line installer per OS (bash or PowerShell). Neither path requires writing code. You'll enter your Better Stack credentials once.
Is my Better Stack data safe?
Your data stays on your machine. The CLI and MCP server are local binaries. The SQLite mirror sits in a directory under your user account. The AI agent only sees what the CLI returns - typically a query result, not raw bulk data. Credentials are read from your environment or your agent's config; never bundled into this repo or transmitted anywhere by MSP Skills.
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.
What does it cost?
Free. Apache-2.0 licensed. You pay only for whichever AI agent you use (Claude, ChatGPT, Codex, etc.), and that's billed by your AI provider, not by us.
Credential safety
- The bearer token (
Authorization: Bearer <token>) and every API request go only to the scheme, host and port of the configured base URL (https://uptime.betterstack.com/api/v2, orBETTERSTACK_BASE_URL). A redirect to any other host is refused, so the token never reaches it. - Any output, file, local store write or MCP result that would carry
BETTERSTACK_API_TOKEN, the stored token, or a credential from a response (a monitor'sauth_username,auth_passwordandrequest_headers, an escalation policy'sincident_token), in any encoding, is withheld whole: the program prints "[credkit: withheld from stdout: it carried a credential this program holds]" (naming the sink) in its place. Leave those fields out with--selectto print the rest. Responses are never cached on disk, and credential-named fields reach the local store as "[redacted]". - Only
credentials.toml(mode 0600) holds a credential;auth set-tokenreads the token from stdin, never from an argument. --dry-runsends nothing. Over MCP, a tool that changes something in Better Stack (every create, update and delete tool,incidents_acknowledge,incidents_resolve,import) returns a preview and sends only withconfirm: true, and a tool argument can never name a file to read or write.
Safety model
The strongest control is the scope you grant the Better Stack credentials - the CLI can only do what the credentials are permitted to do. Full details, including how to lock it down, are in governance.md.
Status
Beta. Validated against the Better Stack API surface and being validated with MSPs running it live against their own production tenant in our weekly Build Sessions. RSVP at compoundingteams.com/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. Apache-2.0 licensed. Built with CLI Printing Press. Last updated: 2026-06-07.
Source: skills/betterstack/README.md at commit 6b7797e
Tools
0Version history
6- v0.1.8LatestNov 5, 2026
- v0.1.7Oct 23, 2026
- v0.1.6Oct 23, 2026
- v0.1.5Oct 22, 2026
- v0.1.4Oct 16, 2026
- v0.1.3Sep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.