Better Stack MCP

Investigate Better Stack observability data, monitors, incidents, and logs.

111 actions Integration catalog
Request access
Connect Better Stack MCP once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Acknowledge incidentBETTER_STACK_MCP_ACKNOWLEDGE_INCIDENT
Acknowledge an ongoing incident
Add chart to dashboardBETTER_STACK_MCP_ADD_CHART_TO_DASHBOARD
Add 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. **REQUIRED**: the `query`'s FROM must reference a source, either `{{source}}` or a source-type variable defined via `set_dashboard_variable` (e.g. `{{redis_source}}`). A query with no source is rejected with guidance to define it first. Dashboard chart queries run against the metrics collection: use `sum(logs_count)` (or the matching `sum(<row_type>_count)` for the source), `avgMerge(value_avg)`, `label('tag')`. Do NOT use `JSONExtract(raw, …)` — that is for live-tail charts and `query` only; dashboards have no `raw` column. Call `metrics_query_help` with the source ID **and `context: 'chart_query'`** for available metrics/labels and chart-query-style examples. **Workflow:** 1. Call `chart_building_help` for chart types, units, and settings. 2. Call `metrics_query_help` with `context: 'chart_query'` to see the source's metrics schema and chart-query examples. 3. Verify the query with `render_chart` (runs it and surfaces errors automatically) or with `query`. Use `{{source}}`, `{{start_time}}`, `{{end_time}}`, `{{time}}` variables for integration with dashboard filters. Queries can also reference custom dashboard variables — `{{var}}` (required) or `[[ AND col = {{var}} ]]` (optional clause, dropped while the variable is empty); define them with `set_dashboard_variable`.
Add dashboard sectionBETTER_STACK_MCP_ADD_DASHBOARD_SECTION
Add 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
ApplicationBETTER_STACK_MCP_APPLICATION
Get comprehensive details of a specific application including its configuration, retention settings, ingestion details, custom bucket settings (if configured)
ApplicationsBETTER_STACK_MCP_APPLICATIONS
List 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 policiesBETTER_STACK_MCP_AVAILABLE_INCIDENT_ESCALATION_POLICIES
Get available escalation policies for an incident
Change team member roleBETTER_STACK_MCP_CHANGE_TEAM_MEMBER_ROLE
Change 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 role cannot be changed, via the API. Pending invitations can't have their role changed — cancel and re-invite instead. If the token can reach more than one team, pass `team_id` (or `team_name`).
ChartBETTER_STACK_MCP_CHART
Get detailed information about a specific chart including its SQL queries, configuration, and settings. Use dashboard first to find the chart ID
Chart alertBETTER_STACK_MCP_CHART_ALERT
Get 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 helpBETTER_STACK_MCP_CHART_ALERT_HELP
Get 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 chart alerts
Chart alertsBETTER_STACK_MCP_CHART_ALERTS
List chart alerts with optional filtering by team, chart, or dashboard. Returns alert ID, name, type, chart, dashboard, and status
Chart building helpBETTER_STACK_MCP_CHART_BUILDING_HELP
Get 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 creating or editing charts
ClustersBETTER_STACK_MCP_CLUSTERS
List 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 ClickHouse
Create applicationBETTER_STACK_MCP_CREATE_APPLICATION
Create 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 links with next steps for configuration
Create chart alertBETTER_STACK_MCP_CREATE_CHART_ALERT
Create 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. Use chart or dashboard first to find the chart ID
Create cloud connectionBETTER_STACK_MCP_CREATE_CLOUD_CONNECTION
Create 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, and cURL command examples. Connections expire after 1 hour by default
Create dashboardBETTER_STACK_MCP_CREATE_DASHBOARD
Create 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 preconfigure the dashboard with that source. Returns the new dashboard ID which can be used with add_chart_to_dashboard to add charts
Create heartbeatBETTER_STACK_MCP_CREATE_HEARTBEAT
Create 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 reports down once no request is received within `period` seconds plus the `grace` window. Use the returned heartbeat URL as the endpoint your job pings on every successful run.
Create incidentBETTER_STACK_MCP_CREATE_INCIDENT
Create a new incident providing a summary of the issue, requester email, and other optional details
Create incident commentBETTER_STACK_MCP_CREATE_INCIDENT_COMMENT
Create a comment on an incident
Create metric expressionBETTER_STACK_MCP_CREATE_METRIC_EXPRESSION
Create 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', 'Nullable(Type)')`. The `Nullable(...)` wrapper is required. Nested paths use positional args: `JSONExtract(raw, 'request', 'headers', 'user-agent', 'Nullable(String)')`. Call `source_fields` to see what fields exist. Pass `aggregations` (e.g. `["avg", "count"]`) for an aggregated metric, or omit / pass `[]` for a label (group-by column). Prefer `build_type: new_data` (default). `historical_logs` re-runs the rule over every stored log — expensive; only when the user explicitly asks.
Create monitorBETTER_STACK_MCP_CREATE_MONITOR
Create 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.com`) rather than a full URL. The monitor starts checking immediately unless `paused` is set to true.
Create sourceBETTER_STACK_MCP_CREATE_SOURCE
Create 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 with next steps for configuration
Create status page reportBETTER_STACK_MCP_CREATE_STATUS_PAGE_REPORT
Create a new status page report
Create status page report updateBETTER_STACK_MCP_CREATE_STATUS_PAGE_REPORT_UPDATE
Create a new status update for an existing status page report
Create status page resourceBETTER_STACK_MCP_CREATE_STATUS_PAGE_RESOURCE
Add 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 own name). Use `status_page_sections` to find the section to place it in; when omitted the resource is added to the status page's first section.
Create status page sectionBETTER_STACK_MCP_CREATE_STATUS_PAGE_SECTION
Create a section (resource group) on a status page to group resources under a heading
DashboardBETTER_STACK_MCP_DASHBOARD
Get 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 helpBETTER_STACK_MCP_DASHBOARD_QUERY_HELP
Get 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_time}}`) and runs against the source's metrics collection — it is meant to be saved as a dashboard chart via `add_chart_to_dashboard` / `edit_chart`, NOT run directly. To instead write an ad-hoc query you will run directly via `query` or `render_chart`, use `metrics_query_help`.
DashboardsBETTER_STACK_MCP_DASHBOARDS
List all available dashboards in a paginated table format. Returns dashboard ID, name, creation date, and last updated date
Dashboard templatesBETTER_STACK_MCP_DASHBOARD_TEMPLATES
List all available dashboard templates in a paginated table format. Returns template ID, name, description, and other metadata
Data regionsBETTER_STACK_MCP_DATA_REGIONS
List 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 Cluster), and geographical locations. Includes usage instructions for both standard regions and custom clusters
Delete chart alertBETTER_STACK_MCP_DELETE_CHART_ALERT
Delete 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 expressionBETTER_STACK_MCP_DELETE_METRIC_EXPRESSION
Delete 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 leaves already-extracted data. `build_type: historical_logs` also rebuilds the source's metrics without this rule — expensive.
DocumentationBETTER_STACK_MCP_DOCUMENTATION
Search for relevant documentation articles and return their contents
Edit applicationBETTER_STACK_MCP_EDIT_APPLICATION
Edit 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 change. Use applications or application first to find the application ID.
Edit chartBETTER_STACK_MCP_EDIT_CHART
Edit 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 source-type variable defined via `set_dashboard_variable` (queries with no source are rejected). Dashboard chart queries run against the metrics collection: use `sum(logs_count)` (or the matching `sum(<row_type>_count)` for the source), `avgMerge(value_avg)`, `label('tag')`. `JSONExtract(raw, …)` only works in live-tail charts — dashboards have no `raw` column. Verify the new query with `render_chart` (runs it and surfaces errors automatically) or with `query` before saving. Queries can also reference custom dashboard variables — `{{var}}` (required) or `[[ AND col = {{var}} ]]` (optional clause, dropped while the variable is empty); define them with `set_dashboard_variable`. Call `chart_building_help` for chart/settings reference and `metrics_query_help` with `context: 'chart_query'` for the source's metrics schema and chart-query-style examples. Use `dashboard` first to find the chart ID.
Edit chart alertBETTER_STACK_MCP_EDIT_CHART_ALERT
Edit 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 dashboardBETTER_STACK_MCP_EDIT_DASHBOARD
Edit 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 sectionBETTER_STACK_MCP_EDIT_DASHBOARD_SECTION
Edit an existing dashboard section. Only provide the fields you want to change. Use dashboard first to find the section ID
ErrorBETTER_STACK_MCP_ERROR
Get 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 Linear/Jira issues
ErrorsBETTER_STACK_MCP_ERRORS
List 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 or custom SQL, use errors_query_help instead.
Errors query helpBETTER_STACK_MCP_ERRORS_QUERY_HELP
Get 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 examples for common use cases
Escalate incidentBETTER_STACK_MCP_ESCALATE_INCIDENT
Escalate an ongoing incident to a user, team, schedule, or policy
Escalation policiesBETTER_STACK_MCP_ESCALATION_POLICIES
List all escalation policies with their steps and configuration
Escalation policyBETTER_STACK_MCP_ESCALATION_POLICY
Get detailed information about a specific escalation policy
ExplorationBETTER_STACK_MCP_EXPLORATION
Get 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 before modifying its source or variables
ExplorationsBETTER_STACK_MCP_EXPLORATIONS
List 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 or modifying one
Explore logs query helpBETTER_STACK_MCP_EXPLORE_LOGS_QUERY_HELP
Get 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}}`, `{{time}}`, `{{start_time}}`, `{{end_time}}`) and reads fields from the `raw` JSON column — it is meant to be used in the Explore UI, NOT run directly. To instead write an ad-hoc logs/spans query you will run directly via `query`, use `query_help`.
Export dashboardBETTER_STACK_MCP_EXPORT_DASHBOARD
Export a dashboard configuration as JSON. Returns the complete dashboard data structure including charts, sections, presets, and settings
HeartbeatBETTER_STACK_MCP_HEARTBEAT
Get details of a specific heartbeat
Heartbeat availabilityBETTER_STACK_MCP_HEARTBEAT_AVAILABILITY
Get availability summary for a specific heartbeat
HeartbeatsBETTER_STACK_MCP_HEARTBEATS
List all heartbeats with filtering and pagination options
Import dashboardBETTER_STACK_MCP_IMPORT_DASHBOARD
Import a dashboard from JSON configuration. Creates a new dashboard with the provided data structure
IncidentBETTER_STACK_MCP_INCIDENT
Get detailed information about a specific incident
Incident commentsBETTER_STACK_MCP_INCIDENT_COMMENTS
Get comments for an incident
IncidentsBETTER_STACK_MCP_INCIDENTS
List incidents with filtering and pagination options
Incident timelineBETTER_STACK_MCP_INCIDENT_TIMELINE
Get the timeline of events for an incident
Invite team memberBETTER_STACK_MCP_INVITE_TEAM_MEMBER
Invite 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 ids). Defaults to responder. The admin role cannot be assigned via the API. Someone who already belongs to the organization is added to the team directly, with no invitation to accept; an organization-wide role they hold (Admin, Billing admin) is kept. If the token can reach more than one team, pass `team_id` (or `team_name`).
MetricBETTER_STACK_MCP_METRIC
Get 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 aggregation functions, and Prometheus tags (for pure metrics). Essential for understanding how to query and use a metric
Showing the first 60 of 111 actions.