Better Stack MCP Server
Official Better Stack MCP server for uptime monitoring, incident response, on-call management, log/metric/error telemetry, and status pages.
Better Stack's official MCP server exposes the company's observability platform (Uptime, Telemetry, and Error tracking, formerly Logtail + Better Uptime) to AI agents over HTTP. It is provider-hosted at https://mcp.betterstack.com, so there is nothing to install or self-host. Agents authenticate via browser-based OAuth (for clients that support it) or via a Bearer API token in the Authorization header.
The server groups tools into three product areas. Uptime tools cover monitors, heartbeats, incidents (create, acknowledge, escalate, resolve), on-call calendars, escalation policies, and status pages. Telemetry tools wrap Better Stack's ClickHouse-backed log and metric platform, letting an agent build and execute queries across logs, spans, and metrics, manage sources, dashboards, charts, and alerts, and inspect infrastructure regions and clusters. Error tools manage error-tracking applications, releases, individual errors, and session replays.
Two HTTP headers, X-MCP-Tools-Only and X-MCP-Tools-Except, let operators allowlist or blocklist specific tools per connection, which is useful when wiring the server into agents that should have read-only or product-scoped access.
Tools
| Tool | Description |
|---|---|
list_monitors |
List uptime monitors in your Better Stack account. |
get_monitor |
Get details for a specific monitor. |
get_monitor_availability |
Return availability/SLA stats for a monitor. |
list_heartbeats |
List heartbeat monitors used for scheduled jobs. |
get_heartbeat |
Get details for a heartbeat. |
create_incident |
Create an incident. |
list_incidents |
List incidents. |
get_incident |
Get full details of an incident. |
acknowledge_incident |
Acknowledge an incident. |
escalate_incident |
Escalate an incident to the next responder. |
resolve_incident |
Resolve an incident. |
list_escalation_policies |
List on-call escalation policies. |
get_on_call |
Get who is currently on call. |
list_on_call_calendars |
List on-call calendars/schedules. |
list_on_call_events |
List upcoming on-call shift events. |
list_status_pages |
List public status pages. |
get_status_page |
Get a status page's configuration. |
create_status_page_report |
Post a status page report/update. |
execute_query |
Run a ClickHouse SQL query against logs, metrics, spans, or errors. |
render_line_chart |
Render a line chart from a query result. |
list_sources |
List Telemetry sources. |
get_source |
Get a source's configuration. |
create_source |
Create a new Telemetry source. |
get_source_fields |
Get the schema/fields for a source. |
list_dashboards |
List Telemetry dashboards. |
get_dashboard |
Get a dashboard's contents. |
create_dashboard |
Create a dashboard. |
rename_dashboard |
Rename a dashboard. |
export_dashboard |
Export dashboard JSON. |
import_dashboard |
Import dashboard JSON. |
remove_dashboard |
Delete a dashboard. |
add_chart_to_dashboard |
Add a chart to a dashboard. |
edit_chart |
Edit an existing chart. |
remove_chart |
Remove a chart. |
list_alerts |
List Telemetry alerts. |
create_alert |
Create an alert from a query. |
edit_alert |
Edit an alert. |
delete_alert |
Delete an alert. |
toggle_alert_pause |
Pause or resume an alert. |
build_explore_query |
Build a logs/spans explore query. |
get_metrics_catalog |
List available metrics. |
get_metric_details |
Get a single metric's metadata. |
build_metric_query |
Build a metric query. |
list_data_regions |
List Telemetry data regions. |
list_clusters |
List ClickHouse clusters. |
create_cloud_connection |
Create a cloud data source connection. |
list_applications |
List error-tracking applications. |
get_application |
Get an error-tracking application. |
create_application |
Create a new error-tracking application. |
list_releases |
List releases for an application. |
get_error |
Get details for a specific error/exception. |
update_error_state |
Mark an error as resolved, ignored, etc. |
Prerequisites
- A Better Stack account (Uptime, Telemetry, or Error tracking)
- An MCP client that supports remote HTTP servers (Claude Desktop, Claude Code, Cursor, VS Code, etc.)
- For non-OAuth clients: a Better Stack API token
OAuth setup (recommended)
Add the server to your MCP client config. No token required, the client will open a browser to authenticate.
{
"mcpServers": {
"betterstack": {
"type": "http",
"url": "https://mcp.betterstack.com"
}
}
}
API token setup
For clients without OAuth, create an API token in Better Stack and pass it as a Bearer token:
{
"mcpServers": {
"betterstack": {
"type": "http",
"url": "https://mcp.betterstack.com",
"headers": {
"Authorization": "Bearer $TOKEN"
}
}
}
}
Restricting available tools
Use these optional headers to allowlist or blocklist tools:
X-MCP-Tools-Only: comma-separated list of tools to exposeX-MCP-Tools-Except: comma-separated list of tools to hide
Client notes
- Claude Desktop: edit
claude_desktop_config.jsonand restart the app. - Cursor: a one-click install link is provided in the Better Stack docs.
- Claude Code: install via the CLI as documented on the Better Stack integration page.
- Triage production incidents: have an agent list active incidents, pull related logs via SQL, and acknowledge or resolve once root cause is found.
- On-call lookups: ask "who is on call for the payments service right now" and get the current responder plus the next shift.
- Log and metric exploration: let an agent author ClickHouse SQL against Better Stack Telemetry sources to investigate spikes, errors, or latency.
- Dashboard and alert management: create or edit dashboards and alert rules from chat instead of clicking through the UI.
- Status page updates: post incident reports to a public status page during an outage.
- Error tracking workflows: pull error details, correlate with a release, and update the error's state to resolved.
- "Show me all open incidents from the last 24 hours and acknowledge anything assigned to me."
- "Who is currently on call for the API escalation policy, and who is next?"
- "Query our
production-apilogs source for 5xx responses in the last hour grouped by route." - "Create a Telemetry alert that fires when error rate on the checkout source exceeds 1% over 5 minutes."
- "Post a status page update saying we're investigating elevated latency on the EU region."
- Official, provider-hosted server: no install, no self-managed runtime, OAuth supported out of the box.
- Broad coverage across Better Stack's three products (Uptime, Telemetry, Error tracking) including write actions like acknowledging incidents and editing dashboards.
- Per-connection tool allowlisting/blocklisting via
X-MCP-Tools-OnlyandX-MCP-Tools-Exceptheaders, useful for limiting agent blast radius. - Direct ClickHouse SQL access to logs and metrics, so agents can answer arbitrary telemetry questions rather than only canned queries.
- Requires an active Better Stack account; many tools are only useful on paid plans with Uptime, Telemetry, or Error tracking enabled.
- No open-source repo to inspect or extend; behavior is fully controlled by Better Stack.
- Write-capable tools (resolve incidents, delete alerts, remove dashboards) mean tokens should be scoped carefully; the server itself does not implement role-based granularity beyond the tool allow/block headers.
- Sentry MCP server for error tracking workflows.
- Datadog MCP integrations for logs, metrics, and incident workflows on Datadog.
- Grafana's MCP server (
mcp-grafana) for dashboard and query access against Grafana/Loki/Prometheus stacks.