Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Better Stack MCP

MCPB · BETTERSTACK-MCP.MCPB

Every Better Stack Uptime feature, plus an offline SQLite mirror and cross-resource fleet analytics

+1 this week 53 Trust /100

Last scanned (5 hours ago)

Scores higher than 86% of MCPB servers

Category Monitoring and Observability

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 12 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability62
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 16385 tokens (~237/item across 69 items; 69 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
  • Stability check failed: the tool surface changed between 0.1.3 and 0.1.7: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 9 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 69 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Package version: 0.1.3 → 0.1.7 functional
  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 96 to 99.

  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 89 to 93.

  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 86.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 76 to 79.

  • 23 Oct 26 +1
    • Stability: 0.70 → fail ▼ security
    • Maintenance: pass → unverified ▼ functional
    • Package version: 0.1.5 → 0.1.7 functional
    • Package version: 0.1.5 → 0.1.6 functional
  • 22 Oct 26 0
    • Stability: 0.67 → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Tool coverage: 100 → unverified ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Package version: 0.1.4 → 0.1.5 functional
  • 21 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed mcpb/https://github.com/Servosity/msp-skills/releases/download/betterstack-v0.1.7/betterstack-mcp.mcpb@0.1.7

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 69 exposed · ~16,385 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
context ~29

Get API domain context: resource taxonomy, auth requirements, query tips, and unique capabilities. Call this first.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

coverage ~561

Use this command to find monitors with no escalation policy or alert channel. Do NOT use it for heartbeat configuration risk; use 'heartbeat-risk' instead. Do NOT use it to find rotations with nobody on call; use 'oncall-gaps' instead. Anti-joins monitors against escalation policies and direct alert channels in the local mirror to surface monitors that would page nobody if they failed. Run `sync` first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
include-pausedboolean–Include paused monitors in the gap analysis (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

down ~528

Use this command for the focused list of monitors currently down and whether anyone is paged. Do NOT use it for a full-account summary including paused/healthy counts; use 'fleet' instead. Do NOT use it to age open incidents by acknowledgement state; use 'triage' instead. Reads the local SQLite mirror; run `sync` first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

export ~564

Export paginated API data to a local file. Supports JSONL (one JSON object per line, streaming-friendly) and JSON (array). JSONL is recommended for large datasets as it has no memory pressure.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
formatstring–Output format: jsonl or json (default: jsonl)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum records to export (0 = unlimited) (default: 0)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache for fresh data (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

flapping ~562

Use this command to rank monitors by how many incidents they generated (alert-fatigue sources). Do NOT use it for response-time math; use 'mttr' instead. Counts incidents per source (monitor/heartbeat) over the window from the local mirror and ranks the noisiest. Run `sync` first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
daysnumber–Window in days to count incidents over (default: 7)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
topnumber–Show only the top N noisiest sources (default: 10)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

fleet ~491

Join monitors, heartbeats, incidents, and on-call calendars from the local SQLite mirror into a single health board. Run `sync` first to populate the mirror.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

group_health ~503

Use this command for per-group (per-client) health rollups. Do NOT use it for the account-wide one-screen board; use 'fleet' instead. Reads the local SQLite mirror; run `sync` first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

heartbeat_groups ~470

List, get, create, and delete heartbeat groups

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

heartbeat_risk ~548

Use this command to rank fragile heartbeats (cron/scheduled-task check-ins). Do NOT use it for monitor escalation coverage; use 'coverage' instead. Audits every heartbeat in the local mirror and scores risk from tight grace windows, paused state, and non-up status. Run `sync` first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
topnumber–Show only the top N riskiest heartbeats (0 = all) (default: 0)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

heartbeat-groups_create ~50

Create a heartbeat group. Required: name. Optional: sort-index. Returns the new HeartbeatGroup.

NameTypeReqDescription
namestringyesGroup name
sort-indexnumber–Sort position

No output schema declared.

No examples provided.

heartbeat-groups_delete ~33

Delete a heartbeat group. Required: id. Destructive.

NameTypeReqDescription
idstringyesHeartbeat group ID

No output schema declared.

No examples provided.

heartbeat-groups_get ~38

Get a heartbeat group by ID. Required: id. Returns the HeartbeatGroup.

NameTypeReqDescription
idstringyesHeartbeat group ID

No output schema declared.

No examples provided.

heartbeat-groups_list ~57

List heartbeat groups. Optional: page, per-page (default: 50). Returns array of HeartbeatGroup.

NameTypeReqDescription
pagenumber–Page number
per-pagenumber–Results per page (max 250)

No output schema declared.

No examples provided.

heartbeats ~469

Heartbeats — cron/scheduled-task check-ins

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

heartbeats_create ~142

Create a heartbeat. Required: name. Optional: period, grace, group-id (plus 5 more). Returns the new Heartbeat.

NameTypeReqDescription
callboolean–Send phone-call alerts
emailboolean–Send email alerts
gracenumber–Grace period in seconds before alerting
group-idstring–Heartbeat group to attach to
namestringyesHeartbeat name
periodnumber–Expected check-in period in seconds
policy-idstring–Escalation policy ID
pushboolean–Send push alerts
smsboolean–Send SMS alerts

No output schema declared.

No examples provided.

heartbeats_delete ~30

Delete a heartbeat. Required: id. Destructive.

NameTypeReqDescription
idstringyesHeartbeat ID

No output schema declared.

No examples provided.

heartbeats_get ~34

Get a heartbeat by ID. Required: id. Returns the Heartbeat.

NameTypeReqDescription
idstringyesHeartbeat ID

No output schema declared.

No examples provided.

heartbeats_list ~55

List heartbeats. Optional: page, per-page (default: 50). Returns array of Heartbeat.

NameTypeReqDescription
pagenumber–Page number
per-pagenumber–Results per page (max 250)

No output schema declared.

No examples provided.

heartbeats_update ~97

Update a heartbeat (sends PATCH). Required: id. Optional: name, period, grace (plus 1 more). Returns the updated Heartbeat.

NameTypeReqDescription
gracenumber–New grace period in seconds
idstringyesHeartbeat ID
namestring–New heartbeat name
pausedboolean–Pause or unpause the heartbeat
periodnumber–New expected period in seconds

No output schema declared.

No examples provided.

import ~539

Import data from a JSONL file by issuing POST requests for each record. Each line must be a valid JSON object. Failed records are logged to stderr but do not stop the import.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
batch-sizenumber–Records per batch (future: batch API support) (default: 1)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Preview import without sending requests (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

incidents ~470

Incidents — outages and alerts across monitors and heartbeats

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

incidents_acknowledge ~50

Acknowledge an incident. Required: id. Optional: by. Returns the new Incident.

NameTypeReqDescription
bystring–Email of the person acknowledging
idstringyesIncident ID

No output schema declared.

No examples provided.

incidents_delete ~28

Delete an incident. Required: id. Destructive.

NameTypeReqDescription
idstringyesIncident ID

No output schema declared.

No examples provided.

incidents_get ~31

Get an incident by ID. Required: id. Returns the Incident.

NameTypeReqDescription
idstringyesIncident ID

No output schema declared.

No examples provided.

incidents_list ~135

List incidents. Optional: page, per-page (default: 50), from (plus 5 more). Returns array of Incident.

NameTypeReqDescription
acknowledgedboolean–Filter by acknowledged state
fromstring–Start date filter (YYYY-MM-DD)
heartbeat-idstring–Filter by source heartbeat ID
monitor-idstring–Filter by source monitor ID
pagenumber–Page number
per-pagenumber–Results per page (max 250)
resolvedboolean–Filter by resolved state
tostring–End date filter (YYYY-MM-DD)

No output schema declared.

No examples provided.

incidents_resolve ~47

Resolve an incident. Required: id. Optional: by. Returns the new Incident.

NameTypeReqDescription
bystring–Email of the person resolving
idstringyesIncident ID

No output schema declared.

No examples provided.

monitor_groups ~470

List, get, create, and delete monitor groups

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

monitor-groups_create ~64

Create a monitor group. Required: name. Optional: sort-index, paused. Returns the new MonitorGroup.

NameTypeReqDescription
namestringyesGroup name
pausedboolean–Pause all monitors in the group
sort-indexnumber–Sort position

No output schema declared.

No examples provided.

monitor-groups_delete ~32

Delete a monitor group. Required: id. Destructive.

NameTypeReqDescription
idstringyesMonitor group ID

No output schema declared.

No examples provided.

monitor-groups_get ~36

Get a monitor group by ID. Required: id. Returns the MonitorGroup.

NameTypeReqDescription
idstringyesMonitor group ID

No output schema declared.

No examples provided.

monitor-groups_list ~56

List monitor groups. Optional: page, per-page (default: 50). Returns array of MonitorGroup.

NameTypeReqDescription
pagenumber–Page number
per-pagenumber–Results per page (max 250)

No output schema declared.

No examples provided.

monitors ~473

Uptime monitors (HTTP, keyword, ping, TCP, heartbeat-backed)

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

monitors_create ~281

Create a monitor. Required: type. Optional: url, name, check-frequency (plus 13 more). Returns the new Monitor.

NameTypeReqDescription
callboolean–Send phone-call alerts
check-frequencynumber–Seconds between checks (e.g. 30, 60, 180)
confirmation-periodnumber–Seconds before a failure is confirmed
emailboolean–Send email alerts
group-idstring–Monitor group to attach to
http-methodstring–HTTP method for status/keyword monitors
keywordstring–Keyword to check for (keyword monitors)
namestring–Human-readable monitor name
pausedboolean–Create the monitor paused
policy-idstring–Escalation policy ID
pushboolean–Send push alerts
recovery-periodnumber–Seconds the monitor must be up before recovery
request-timeoutnumber–Request timeout in seconds
smsboolean–Send SMS alerts
typestringyesMonitor type: status, expected_status_code, keyword, keyword_absence, ping, tcp, udp, smtp, pop, imap, dns, playwright
urlstring–URL or host to monitor
verify-sslboolean–Verify SSL certificate

No output schema declared.

No examples provided.

monitors_delete ~28

Delete a monitor. Required: id. Destructive.

NameTypeReqDescription
idstringyesMonitor ID

No output schema declared.

No examples provided.

monitors_get ~31

Get a monitor by ID. Required: id. Returns the Monitor.

NameTypeReqDescription
idstringyesMonitor ID

No output schema declared.

No examples provided.

monitors_list ~87

List all monitors. Optional: page, per-page (default: 50), url (plus 1 more). Returns array of Monitor.

NameTypeReqDescription
namestring–Filter by display name
pagenumber–Page number (starts at 1)
per-pagenumber–Results per page (max 250)
urlstring–Filter by monitored URL

No output schema declared.

No examples provided.

monitors_update ~107

Update a monitor (sends PATCH). Required: id. Optional: name, url, check-frequency (plus 2 more). Returns the updated Monitor.

NameTypeReqDescription
check-frequencynumber–New check frequency in seconds
idstringyesMonitor ID
namestring–New display name
pausedboolean–Pause or unpause the monitor
policy-idstring–New escalation policy ID
urlstring–New URL/host

No output schema declared.

No examples provided.

mttr ~606

Use this command for response-time rollups (how fast incidents are acknowledged/resolved). Do NOT use it to rank monitors by incident count; use 'flapping' instead. Computes MTTA (acknowledged_at − started_at) and MTTR (resolved_at − started_at) across incidents started within the window, from the local mirror. Run `sync` first.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
by-monitorboolean–Break MTTR down by source monitor (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
daysnumber–Window in days (incidents started within this many days back) (default: 30)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
topnumber–With --by-monitor, show only the top N slowest-resolving sources (default: 10)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

on_calls ~468

On-call calendars and current on-call shifts

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
ignore-missingboolean–Treat missing delete targets as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

on-calls_get ~45

Get an on-call calendar by ID (includes current on-call users). Required: id. Returns the OnCallCalendar.

NameTypeReqDescription
idstringyesOn-call calendar ID

No output schema declared.

No examples provided.

on-calls_list ~58

List on-call calendars. Optional: page, per-page (default: 50). Returns array of OnCallCalendar.

NameTypeReqDescription
pagenumber–Page number
per-pagenumber–Results per page (max 250)

No output schema declared.

No examples provided.

Install

How do I install the Better Stack MCP server?

Better Stack MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 9830ce127f3df76d099773cef486197a614aa4e34d9429d8ac6c0b47ae3fb963; the commands to do that are on this page. If it does not match, do not open it.

mcpb · betterstack-mcp.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

9830ce127f3df76d099773cef486197a614aa4e34d9429d8ac6c0b47ae3fb963

macOS / Linux

echo "9830ce127f3df76d099773cef486197a614aa4e34d9429d8ac6c0b47ae3fb963  betterstack-mcp.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\betterstack-mcp.mcpb).Hash -eq "9830ce127f3df76d099773cef486197a614aa4e34d9429d8ac6c0b47ae3fb963"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the Better Stack MCP server?

Better Stack MCP is listed in the public MCP registry as io.github.Servosity/betterstack-mcp. Every Better Stack Uptime feature, plus an offline SQLite mirror and cross-resource fleet analytics. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/betterstack-v0.1.7/betterstack-mcp.mcpb).

Is the Better Stack MCP server safe to use?

Better Stack MCP scores 53 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Better Stack MCP server expose?

Better Stack MCP exposes 69 tools: context, coverage, down, export, flapping, and 64 more. Their descriptions and schemas cost roughly 16,385 tokens of context every time the server is loaded.

What licence is the Better Stack MCP server under?

Better Stack MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.