Connect Better Stack MCP to your AI agent
Investigate Better Stack observability data, monitors, incidents, and logs.
We set up the connection using your own Better Stack MCP account, with keys you control, and keep it running. Your agent picks it up and starts doing the work.
What your agent can do in Better Stack MCP
Each one is a real action the agent can take on its own, the same things a person clicking around Better Stack MCP could do. Read-only by default; write actions are confirmed against your policy.
- Acknowledge incident Acknowledge an ongoing incident
- 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…
- 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
- Application Get comprehensive details of a specific application including its configuration, retention settings, ingestion details, custom bucket settings (if configured)
- 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 policies Get available escalation policies for an incident
- 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 cha…
- Chart Get detailed information about a specific chart including its SQL queries, configuration, and settings. Use dashboard first to find the chart ID
- 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 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 alerts List chart alerts with optional filtering by team, chart, or dashboard. Returns alert ID, name, type, chart, dashboard, and status
- 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 ch…
- 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 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 st…
- 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 dash…
- 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…
- 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 dashboar…
- 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…
- Create incident Create a new incident providing a summary of the issue, requester email, and other optional details
- Create incident comment Create a comment on an incident
- 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)')`. T…
- 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 f…
- 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 fo…
- Create status page report Create a new status page report
- Create status page report update Create a new status update for an existing status page report
- 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 `statu…
- Create status page section Create a section (resource group) on a status page to group resources under a heading
- 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 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…
- Dashboards List all available dashboards in a paginated table format. Returns dashboard ID, name, creation date, and last updated date
- Dashboard templates List all available dashboard templates in a paginated table format. Returns template ID, name, description, and other metadata
- 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 geographica…
- 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 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-extr…
- Documentation Search for relevant documentation articles and return their contents
- 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…
- 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 d…
- 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 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 section Edit an existing dashboard section. Only provide the fields you want to change. Use dashboard first to find the section ID
- 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
- 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 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…
- Escalate incident Escalate an ongoing incident to a user, team, schedule, or policy
- Escalation policies List all escalation policies with their steps and configuration
- Escalation policy Get detailed information about a specific escalation policy
- 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…
- 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 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_ti…
- Export dashboard Export a dashboard configuration as JSON. Returns the complete dashboard data structure including charts, sections, presets, and settings
- Heartbeat Get details of a specific heartbeat
- Heartbeat availability Get availability summary for a specific heartbeat
- Heartbeats List all heartbeats with filtering and pagination options
- Import dashboard Import a dashboard from JSON configuration. Creates a new dashboard with the provided data structure
- Incident Get detailed information about a specific incident
- Incident comments Get comments for an incident
- Incidents List incidents with filtering and pagination options
- Incident timeline Get the timeline of events for an incident
- 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 r…
- 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 functi…
- Metric expressions List 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 prefixed form that feeds s…
- Metrics query help Get 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(...)` / `s3Cluster(...)…
- Metrics schema Get 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, storage layout, data po…
- Monitor Get details of a specific monitor
- Monitor availability Get availability (SLA) summary for a specific monitor
- Monitor response times Get response time metrics for a specific monitor
- Monitors List monitors with optional filtering and pagination
- Move charts Move 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, none are applied. G…
- On call Get detailed information about a specific on-call calendar or the default calendar
- On call event Get detailed information about a specific on-call event
- On call events List all on-call schedule events for a specific calendar
- On call rotation Get on-call rotation configuration for a specific calendar
- On calls List all on-call calendars for the team
- Query Execute 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 and spans - **IMPO…
- Query help Get 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 instead write a query…
- Releases List all releases for a specific application in a paginated table format. Returns release reference, environments, first seen, and last seen timestamps
- Remove chart Remove 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 dashboard Remove a dashboard permanently. This action cannot be undone
- Remove dashboard section Remove 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 variable Remove 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 until it is redefined…
- Remove exploration variable Remove 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 required {{name}} error…
- Remove status page resource Remove a resource from a status page
- Remove status page section Remove a section from a status page. Resources in the section are removed with it.
- Remove team member Remove 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 member cannot be rem…
- Render chart Execute 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 `series`. - `bar` —…
- Reopen incident Reopen a resolved incident (must be within 24 hours of resolution)
- Replays query help Get 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 by user/environment
- Resolve incident Resolve an ongoing incident
- Set dashboard variable Create 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 `[[ AND col = {{name}}…
- Set exploration variable Create 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`, and pass the source I…
- Severities List all severities (urgency levels) with their notification settings
- Severity Get detailed information about a specific severity (urgency level)
- Source Get comprehensive details of a specific source including its configuration, retention settings, ingestion details, custom bucket settings (if configured)
- Source fields Get 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 custom queries
- Sources List all available sources in a paginated table format. Returns source ID, name, platform type, team, status (active/paused), data region, and creation date
- Status page Get details of a specific status page
- Status page reports List status reports (incidents/maintenance) for a specific status page
- Status page report update Get details of a specific status page report update
- Status page report updates List status updates for a specific status report
- Status page resources Get resources (monitors/heartbeats) for a specific status page
- Status pages List all status pages with filtering and pagination options
- Status page sections List the sections (resource groups) of a status page
- Team members List 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 pagination as the R…
- Team roles List 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 role_id values for…
- Teams List all available teams in Better Stack Logs. Returns a table with team IDs and names, grouped by organization
- Toggle chart alert pause Pause or unpause a chart alert. When paused, the alert will not trigger any incidents
- Update error state Update the state of a specific error (mark as resolved, ignored, or unresolved)
- Update metric expression Update 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 change and will be rej…
- Update status page Update the settings of a status page (company name, contact URL, theme, layout, and more)
- Update status page resource Update a resource on a status page. Change its public name, description, widget type (e.g. show or hide the uptime history), or move it by setting `position` (zero-based) and/or `status_page_section_id`. Use `status_pag…
- Update status page section Rename a status page section or move it by setting its position
How we connect it
- 1
Connect your account
You log in with your own Better Stack MCP account. We never see your password, and you can revoke access from Better Stack MCP at any time.
- 2
Set the guardrails
Read-only by default. You choose which write actions the agent may take, and anything outside that policy gets confirmed with you first.
- 3
We keep it running
Health checks on every connection, updates handled for you, and we watch the first week of activity to make sure the work lands.
FAQ
Better Stack MCP questions, answered.
Ready to put Better Stack MCP to work?
Tell us what your team runs on. We set up the connection, secure it, and your agent takes it from there.
All product names, logos, and brands are property of their respective owners; used for identification only. ZeroToClaw is not affiliated with or endorsed by Better Stack MCP.