How to integrate Better Stack MCP with Hermes

Connect Hermes to Better Stack MCP. List active monitors with recent failures, show unresolved incidents from the last 24h, and more using natural language, with authentication handled for you.

Better Stack MCP logoBetter Stack MCP
Dcr Oauth

Better Stack is an observability platform for monitoring, incident management, and log aggregation. Use it to detect, investigate, and resolve incidents quickly with real-time alerts.

111 Tools

Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.

This guide explains the easiest and most robust way to connect your Better Stack account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

Also integrate Better Stack MCP with

What is Composio Connect?

Composio Connect is a consumer offering that lets anyone plug 1,500+ applications directly into their agent harness — including Hermes. It can:

  • Search and load tools from relevant toolkits on-demand, reducing context usage.
  • Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
  • Manage app authentication end-to-end with zero manual overhead.

Integrating Better Stack with Hermes

Using Composio Connect CLI

1. Install the Composio CLI

Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

bash
curl -fsSL https://composio.dev/install | bash
Hermes authenticating with Composio

2. Authenticate

Once the CLI is installed, ask Hermes to authenticate with Composio.

3. Connect to Better Stack

Ask your agent to connect to Better Stack, or simply request any Better Stack-related task. Hermes will prompt you to authenticate and authorize access.

4. Done. You're all set with a new Better Stack connection.


Using Composio Connect MCP

1. Get your MCP URL and API Key

Go to dashboard.composio.dev and copy your Connect MCP URL and API key.

Copy MCP URL and API key from Composio dashboard

2. Open the Hermes config file

bash
nano ~/.hermes/config.yaml

3. Add the Composio Connect MCP server

bash
mcp_servers:
  composio:
    url: "https://connect.composio.dev/mcp"
    headers:
      x-consumer-api-key: "YOUR_COMPOSIO_API_KEY"
    connect_timeout: 60
    timeout: 180

Save with Ctrl + O, Enter, then exit with Ctrl + X.

4. Restart your Hermes agent

Once restarted, ask your agent to connect to Better Stack or request any Better Stack-related task. It will prompt you to authenticate and authorize access.

5. Done!

What is the Better Stack MCP server, and what's possible with it?

The Better Stack MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Better Stack account. It provides structured and secure access so your agent can perform Better Stack operations on your behalf.

Way Forward

With Better Stack connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.

From here, you can extend Hermes further:

  • Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
  • Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
  • Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.

If you run into trouble or want to share what you've built, join the community or check out the Docs for deeper configuration options.

TOOLS

Supported Tools

Every Better Stack MCP action and event your agent gets out of the box.

Acknowledge incident

Acknowledge an ongoing incident

Add chart to dashboard

Add a new chart to a dashboard.

Add dashboard section

Add a section divider to a dashboard.

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.

Available incident escalation policies

Get available escalation policies for an incident

Change team member role

Change a team member's role.

Chart

Get detailed information about a specific chart including its SQL queries, configuration, and settings.

Chart alert

Get detailed information about a specific chart alert including its configuration, SQL queries, status, and current incident info.

Chart alert help

Get instructions for creating and configuring chart alerts, including alert types, operators, configuration fields, supported chart types, and common mistakes.

Chart alerts

List chart alerts with optional filtering by team, chart, or dashboard.

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.

Clusters

List all available storage clusters for a specific team.

Create application

Create a new application in Better Stack.

Create chart alert

Create a new chart alert on an existing chart.

Create cloud connection

Create a secure cloud connection for direct ClickHouse query access to logs, spans, and metrics data.

Create dashboard

Create a new dashboard.

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.

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.

Create monitor

Create a new monitor that tracks the availability of a website, host, or service.

Create source

Create a new log source in Better Stack.

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.

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.

Dashboard query help

Get instructions for writing a ClickHouse query to use inside a Better Stack **Dashboard** chart (or chart alert).

Dashboards

List all available dashboards in a paginated table format.

Dashboard templates

List all available dashboard templates in a paginated table format.

Data regions

List all available data regions and clusters for application and source creation.

Delete chart alert

Delete a chart alert permanently.

Delete metric expression

Delete a metric expression from a source.

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.

Edit chart

Edit an existing chart name, query, type, or settings.

Edit chart alert

Edit an existing chart alert configuration.

Edit dashboard

Edit an existing dashboard's name or source eligibility.

Edit dashboard section

Edit an existing dashboard section.

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.

Errors query help

Get comprehensive instructions for building SQL ClickHouse queries for error tracking, including both error patterns (metrics) and individual exceptions.

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.

Explorations

List saved explorations (saved Explore queries) in a paginated table.

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.

Export dashboard

Export a dashboard configuration as JSON.

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.

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.

Metric

Get comprehensive details about a specific metric.

Metric expressions

List the metric expressions (extract-metrics-from-logs rules) on a source.

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(.

Metrics schema

Get metrics and cardinality for a source.

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.

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.

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.

Releases

List all releases for a specific application in a paginated table format.

Remove chart

Remove a chart from its dashboard permanently.

Remove dashboard

Remove a dashboard permanently.

Remove dashboard section

Remove a section divider from a dashboard permanently.

Remove dashboard variable

Remove a dashboard template variable by name.

Remove exploration variable

Remove a variable from an exploration (saved Explore query) by name.

Remove status page resource

Remove a resource from a status page

Remove status page section

Remove a section from a status page.

Remove team member

Remove a member from a Better Stack team, or cancel a pending invitation.

Render chart

Execute a ClickHouse SQL query and visualize the result as a chart.

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.

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}} ]]` (optional — the whole `[[ .

Set exploration variable

Create or update a variable on an exploration (saved Explore query), referenced in its query as `{{name}}`.

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.

Sources

List all available sources in a paginated table format.

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.

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").

Teams

List all available teams in Better Stack Logs.

Toggle chart alert pause

Pause or unpause a chart alert.

Update error state

Update the state of a specific error (mark as resolved, ignored, or unresolved)

Update metric expression

Update an existing metric expression.

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.

Update status page section

Rename a status page section or move it by setting its position

FRAMEWORKS

How to build Better Stack MCP Agent with another framework

FAQ

Frequently asked questions

With a standalone Better Stack MCP server, the agents and LLMs can only access a fixed set of Better Stack tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Better Stack and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Better Stack tools.

Yes, absolutely. You can configure which Better Stack scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Better Stack data and credentials are handled as safely as possible.

Start with Better Stack MCP.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Better Stack MCP tool your agent needs.Free to start.

Start building