Better Stack MCP for AI agents
Agents read Better Stack MCP at once. Changes and sends are held for a person's approval by default.
About Better Stack MCP
Investigate Better Stack observability data, monitors, incidents, and logs.
What an agent can do in Better Stack MCP
Every Better Stack MCP action is classed by the platform as a read, a change or a send. Reads run at once. Changes and sends are held for a person by default.
Runs at once (reads)
Looks things up in Better Stack MCP without asking first. 63 actions.
- ApplicationGet comprehensive details of a specific application including its configuration, retention settings, ingestion details, custom bucket settings (if configured)
- ApplicationsList all available applications in a paginated table format. Returns application ID, name, platform type, team, status (active/paused), data region, and creation date
- Available incident escalation policiesGet available escalation policies for an incident
- ChartGet detailed information about a specific chart including its SQL queries, configuration, and settings. Use dashboard first to find the chart ID
- Chart alertGet detailed information about a specific chart alert including its configuration, SQL queries, status, and current incident info. Use chart_alerts first to find the alert ID
- Chart alert helpGet instructions for creating and configuring chart alerts, including alert types, operators, configuration fields, supported chart types, and common mistakes. Call this before creating or editing cha
- Chart alertsList chart alerts with optional filtering by team, chart, or dashboard. Returns alert ID, name, type, chart, dashboard, and status
- Chart building helpGet comprehensive instructions for building charts and dashboards, including chart types, units, axis settings, column mapping, legend placement, layout tips, and common mistakes. Call this before cre
- ClustersList all available storage clusters for a specific team. Returns a table with cluster IDs, names, and regions. Used primarily for creating cloud connections to query logs and metrics data directly via
- DashboardGet detailed information about a specific dashboard including its charts, sections, layout, template variables, and configuration. Use this to understand a dashboard structure before modifying it
- Dashboard query helpGet instructions for writing a ClickHouse query to use inside a Better Stack **Dashboard** chart (or chart alert). The query uses template variables (`{{source}}`, `{{time}}`, `{{start_time}}`, `{{end
- DashboardsList all available dashboards in a paginated table format. Returns dashboard ID, name, creation date, and last updated date
Show all 63
- Dashboard templatesList all available dashboard templates in a paginated table format. Returns template ID, name, description, and other metadata
- Data regionsList all available data regions and clusters for application and source creation. Returns a table with region IDs (to use when creating applications or sources), display names, types (Region or Cluste
- DocumentationSearch for relevant documentation articles and return their contents
- ErrorGet comprehensive details of a specific error including its type, message, call site information, first occurrence, current state (unhandled, unresolved, ignored, resolved, or reoccurred), and linked
- ErrorsList error patterns for an application with occurrence counts, affected users, current state, and links. Defaults to unresolved errors and supports filtering by state. For specialized error analytics
- Errors query helpGet comprehensive instructions for building SQL ClickHouse queries for error tracking, including both error patterns (metrics) and individual exceptions. Explains when to use each source and provides
- Escalation policiesList all escalation policies with their steps and configuration
- Escalation policyGet detailed information about a specific escalation policy
- ExplorationGet detailed information about a specific exploration (saved Explore query) including its sources, chart type, template variables, saved time range, and query. Use this to understand an exploration be
- ExplorationsList saved explorations (saved Explore queries) in a paginated table. Returns exploration ID, name, chart type, sources, group, and last updated date. Use this to discover explorations before viewing
- Explore logs query helpGet instructions for writing a ClickHouse query to use inside the Better Stack **Explore logs** page (and live-tail charts) for log and span data. The query uses template variables (`{{source}}`, `{{t
- Export dashboardExport a dashboard configuration as JSON. Returns the complete dashboard data structure including charts, sections, presets, and settings
- HeartbeatGet details of a specific heartbeat
- Heartbeat availabilityGet availability summary for a specific heartbeat
- HeartbeatsList all heartbeats with filtering and pagination options
- IncidentGet detailed information about a specific incident
- Incident commentsGet comments for an incident
- IncidentsList incidents with filtering and pagination options
- Incident timelineGet the timeline of events for an incident
- MetricGet comprehensive details about a specific metric. Returns metric overview (data points, active series, available aggregations), definition (SQL expression or JSON path), example queries for different
- Metric expressionsList the metric expressions (extract-metrics-from-logs rules) on a source. Returns the rule ID, name, kind (metric vs label), ClickHouse type, SQL expression, and aggregations. IDs use a short prefixe
- Metrics query helpGet instructions for building SQL ClickHouse queries for metrics (available metrics, aggregations, examples) to run directly via the query tools (`query` / `render_chart`), using concrete `remote(...)
- Metrics schemaGet metrics and cardinality for a source. Returns a paginated table of available metrics (user-defined and ingested) ordered by active series (highest cardinality first), with their names, types, stor
- MonitorGet details of a specific monitor
- Monitor response timesGet response time metrics for a specific monitor
- MonitorsList monitors with optional filtering and pagination
- On callGet detailed information about a specific on-call calendar or the default calendar
- On call eventGet detailed information about a specific on-call event
- On call eventsList all on-call schedule events for a specific calendar
- On call rotationGet on-call rotation configuration for a specific calendar
- On callsList all on-call calendars for the team
- QueryExecute a ClickHouse SQL query to retrieve logs, traces/spans, errors, and metrics from telemetry data. - **IMPORANT**: Use `query_help` to get instructions on how to create the correct query for logs
- Query helpGet instructions for building SQL ClickHouse queries for logs and spans (fields, aggregations, examples) to run directly via the query tools (query / render_chart) against the ClickHouse proxy. To ins
- ReleasesList all releases for a specific application in a paginated table format. Returns release ID (usable with remove_release), reference, environments, origin, first seen, and last seen timestamps
- Render chartExecute a ClickHouse SQL query and visualize the result as a chart. Use `chart_type` to choose the visualization: - `line` (default) — trends over time. Alias columns as `time`, `value`, and optional
- Replays query helpGet comprehensive instructions for building SQL ClickHouse queries for session replays. Explains data structure, provides examples for listing replays, finding replays linked to errors, and filtering
- SeveritiesList all severities (urgency levels) with their notification settings
- SeverityGet detailed information about a specific severity (urgency level)
- SourceGet comprehensive details of a specific source including its configuration, retention settings, ingestion details, custom bucket settings (if configured)
- Source fieldsGet complete field catalog for a logs or spans source. Returns a table of all queryable fields with their paths and data types. Essential for understanding what fields can be queried for building cust
- SourcesList all available sources in a paginated table format. Returns source ID, name, platform type, team, status (active/paused), data region, and creation date
- Status pageGet details of a specific status page
- Status page reportsList status reports (incidents/maintenance) for a specific status page
- Status page report updateGet details of a specific status page report update
- Status page report updatesList status updates for a specific status report
- Status page resourcesGet resources (monitors/heartbeats) for a specific status page
- Status pagesList all status pages with filtering and pagination options
- Status page sectionsList the sections (resource groups) of a status page
- Team membersList the members of a Better Stack team, including pending invitations. Returns each member's email, name, role and the mobile app platforms they have signed in on. Supports the same email filter and
- Team rolesList the roles defined in a Better Stack organization, including their role_id and system-role identifier (admin, billing_admin, team_lead, responder, member, or "custom"). Use this to discover valid
- TeamsList all available teams in Better Stack Logs. Returns a table with team IDs and names, grouped by organization
Held for approval by default (changes and sends)
Held for a person's approval by default. The approval is recorded and the action is sent once, never twice, with 10 seconds to undo. 50 actions.
- Acknowledge incidentAcknowledge an ongoing incident
- Add chart to dashboardAdd a new chart to a dashboard. Use the `section` parameter to organize charts into named sections — sections are auto-created if they don't exist, and charts are auto-positioned within them. **REQUIR
- Add dashboard sectionAdd a section divider to a dashboard. Sections span the full width and help organize charts into groups. Charts and sections at or below the insertion point are shifted down to make room
- Change team member roleChange a team member's role. Identify the member by `email` or `user_id` (from team_members) and pass the target `role_id` (from team_roles). The admin role cannot be assigned, and an existing admin's
- Create applicationCreate a new application in Better Stack. Returns the created application details including ID, ingestion token, ingesting host URL, retention settings, and platform-specific integration documentation
- Create chart alertCreate a new chart alert on an existing chart. The chart must support alerts (line_chart, bar_chart, number_chart, or tail_chart with time variables). Call chart_alert_help for configuration reference
- Create cloud connectionCreate a secure cloud connection for direct ClickHouse query access to logs, spans, and metrics data. Returns connection credentials (host, port, username, password), sample queries for each data type
- Create dashboardCreate a new dashboard. Optionally use a template to start with pre-configured charts. Call chart_building_help for guidance on dashboard structure and layout. Optionally specify a source_id to precon
- Create error issueCreate an issue for an error in Linear, or a work item in Jira, through the team's integration and link the two. The issue gets Better Stack's standard body (error type, message, call site, stack trac
- Create heartbeatCreate a new heartbeat that expects a periodic request from a cron job, worker, or other background task, and alerts when that request stops arriving. Provide a `name` for the heartbeat. The heartbeat
- Create incidentCreate a new incident providing a summary of the issue, requester email, and other optional details
- Create incident commentCreate a comment on an incident
Show all 50
- Create metric expressionCreate a new metric expression (extract-metrics-from-logs rule) on a source. `sql_expression` runs against each log row; log fields live inside the `raw` JSON column — use `JSONExtract(raw, 'path', 'N
- Create monitorCreate a new monitor that tracks the availability of a website, host, or service. Provide the `url` to monitor. For ping, TCP, UDP, SMTP, POP, IMAP, and DNS monitors this is the host (e.g. `example.co
- Create releaseRegister a release for an errors application, so it appears the moment it deploys instead of when its first error arrives. Returns the release ID, usable with remove_release
- Create sourceCreate a new log source in Better Stack. Returns the created source details including ID, ingestion token, ingesting host URL, retention settings, and platform-specific integration documentation links
- Create status page reportCreate a new status page report
- Create status page report updateCreate a new status update for an existing status page report
- Create status page resourceAdd a resource (monitor, heartbeat, or group) to a status page. Provide the `resource_type` and `resource_id` of the thing to display, plus a `public_name` shown to visitors (usually the resource's ow
- Create status page sectionCreate a section (resource group) on a status page to group resources under a heading
- Delete chart alertDelete a chart alert permanently. This will also clean up any associated incidents and anomaly models. This action cannot be undone. Use chart_alerts or chart_alert first to find the alert ID
- Delete metric expressionDelete a metric expression from a source. This action cannot be undone. Call `metric_expressions` first to get the ID. `build_type: new_data` (default) stops the rule from applying to future logs but
- Edit applicationEdit an existing application in Better Stack - rename it, pause or resume ingesting, or set its VRL transformations, including the exception grouping program. Only provide the fields you want to chang
- Edit chartEdit an existing chart name, query, type, or settings. Only provide the fields you want to change. **If changing the query:** the new query's FROM must reference a source, either `{{source}}` or a sou
- Edit chart alertEdit an existing chart alert configuration. Only provide the fields you want to change. Call chart_alert_help for configuration reference. Use chart_alerts or chart_alert first to find the alert ID
- Edit dashboardEdit an existing dashboard's name or source eligibility. Only provide the fields you want to change. Use dashboard first to find the dashboard ID.
- Edit dashboard sectionEdit an existing dashboard section. Only provide the fields you want to change. Use dashboard first to find the section ID
- Escalate incidentEscalate an ongoing incident to a user, team, schedule, or policy
- Import dashboardImport a dashboard from JSON configuration. Creates a new dashboard with the provided data structure
- Invite team memberInvite someone to a Better Stack team by e-mail address. Optionally set their role by system-role name (`role`: responder, member, team_lead, billing_admin) or by `role_id` (use team_roles to look up
- Link error issueLink an error to an issue or work item that already exists in Linear or Jira. Better Stack then posts every change to the error state as a comment on the issue. For Linear, resolving the issue also re
- Move chartsMove one or more charts to new positions on a dashboard. Validates the final layout for overlaps, allowing swaps and complex rearrangements. All moves are applied atomically - if any move is invalid,
- Remove chartRemove a chart from its dashboard permanently. This action cannot be undone and will also remove any alerts associated with the chart. Use dashboard first to find the chart ID
- Remove dashboardRemove a dashboard permanently. This action cannot be undone
- Remove dashboard sectionRemove a section divider from a dashboard permanently. This action cannot be undone. Charts are not affected - only the section header is removed. Use dashboard first to find the section ID
- Remove dashboard variableRemove a dashboard template variable by name. Cannot remove the automatic variables source, start_time, end_time, or time. A chart still referencing a removed variable as a required {{name}} errors un
- Remove exploration variableRemove a variable from an exploration (saved Explore query) by name. Cannot remove the automatic variables source, start_time, end_time, or time. A query still referencing a removed variable as a requ
- Remove releaseRemove a release permanently. A release still receiving error events is re-detected automatically when its next event arrives. Use the releases tool to find release IDs
- Remove status page resourceRemove a resource from a status page
- Remove status page sectionRemove a section from a status page. Resources in the section are removed with it.
- Remove team memberRemove a member from a Better Stack team, or cancel a pending invitation. Identify them by `email` or `user_id` (from team_members). Admins cannot be removed via the API, and the organization's last m
- Resolve incidentResolve an ongoing incident
- Set dashboard variableCreate or update a dashboard template variable — a user-facing filter in the dashboard toolbar, referenced in chart SQL as `{{name}}` (required — the chart errors until it resolves to a value) or `[[
- Set exploration variableCreate or update a variable on an exploration (saved Explore query), referenced in its query as `{{name}}`. The most common use is setting the exploration's source: name it `source`, type `source`, an
- Toggle chart alert pausePause or unpause a chart alert. When paused, the alert will not trigger any incidents
- Unlink error issueRemove the link between an error and an issue in Linear, Jira, or GitLab. Better Stack stops syncing the two; the issue itself is left untouched.
- Update error stateUpdate the state of a specific error (mark as resolved, ignored, or unresolved)
- Update metric expressionUpdate an existing metric expression. Call `metric_expressions` first to get the ID. At least one of `name`, `sql_expression`, `type`, `aggregations` must be provided — `build_type` alone is not a cha
- Update status pageUpdate the settings of a status page (company name, contact URL, theme, layout, and more)
- Update status page sectionRename a status page section or move it by setting its position
Changes wait in Needs you
Changes and sends in Better Stack MCP are held for a person's approval by default. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
Better Stack MCP questions
Can an agent change data in Better Stack MCP on its own?
Not by default. Changes and sends in Better Stack MCP are held for a person's approval. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
What can an agent read in Better Stack MCP?
This connector lists 63 read actions. Reads run at once, without waiting for approval.
How does Better Stack MCP connect?
It connects with dcr oauth. Connectors are built and maintained by third-party developers; availability is confirmed during scoping.