Better Stack for AI agents

Better Stack combines uptime monitoring, log management, and on-call incident response, used by engineering teams to get alerted and coordinate when something breaks in production. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

DevOps and monitoringAPI keyMCP + RESTbetterstack.com
AUDIT LOG · BETTER STACKPOLICY: acme-support
09:41:07 · claude · u_8f2read
better_stack.list_metadata
List Metadata✓ allowed · 212ms
09:41:08 · claude · u_8f2read
better_stack.get_monitor
Get Monitor✓ allowed · 164ms
09:41:09 · claude · u_8f2write
better_stack.create_monitor
Create Monitor✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
better_stack.delete_monitor
Delete Monitor✕ blocked · policy: deny
EVERY BETTER STACK CALL, ON THE RECORD
01 · USE CASES

What agents do in Better Stack.

01

Acknowledge an active incident

Acknowledge an incident so the on-call team knows someone is investigating, and add a comment with initial findings.

02

Set up monitoring for a service

Create a monitor and a heartbeat group for a new service so its uptime gets tracked automatically.

03

Delete an incident carefully

Delete an incident only after confirming it was a duplicate or test, since removing it erases the record.

02 · ACTIONS

117 Better Stack actions, graded by risk.

Every Better Stack action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

60

Look things up. Allowed by default.

  • better_stack.get_monitor
    Get Monitor
  • better_stack.get_urgency
    Get Severity Level
  • better_stack.get_heartbeat
    Get Heartbeat
  • better_stack.list_metadata
    List Metadata
  • better_stack.list_monitors
    List Monitors
  • better_stack.list_policies
    List Escalation Policies
  • better_stack.list_urgencies
    List Severity Levels
  • better_stack.get_status_page
    Get Status Page
  • better_stack.list_heartbeats
    List Heartbeats
  • better_stack.get_policy_group
    Get Escalation Policy Group
  • better_stack.get_status_update
    Get Status Update
  • better_stack.get_urgency_group
    Get Urgency Group
  • better_stack.list_status_pages
    List Status Pages
  • better_stack.get_monitor_groups
    Get Monitor Group
  • better_stack.list_policy_groups
    List Escalation Policy Groups
  • better_stack.get_heartbeat_group
    Get Heartbeat Group
+ 44 MORE

write

39

Create and change things. Allow, or ask the user first.

  • better_stack.create_monitor
    Create Monitor
  • better_stack.update_monitor
    Update Monitor
  • better_stack.create_incident
    Create Incident
  • better_stack.create_metadata
    Create Metadata
  • better_stack.create_heartbeat
    Create Heartbeat
  • better_stack.create_urgencies
    Create Severity Level
  • better_stack.update_heartbeat
    Update Heartbeat
  • better_stack.update_urgencies
    Update Severity Level
  • better_stack.create_policy_group
    Create Escalation Policy Group
  • better_stack.create_source_group
    Create Source Group
  • better_stack.update_policy_group
    Update Escalation Policy Group
  • better_stack.update_source_group
    Update Source Group
  • better_stack.update_status_pages
    Update Status Pages
  • better_stack.create_monitor_group
    Create Monitor Group
  • better_stack.create_status_update
    Create Status Update
  • better_stack.create_urgency_group
    Create Urgency Group
+ 23 MORE

destructive

18

Delete, cancel or archive. Ask first, or deny outright.

  • better_stack.delete_monitor
    Delete Monitor
  • better_stack.delete_urgency
    Delete Severity
  • better_stack.delete_incident
    Delete Incident
  • better_stack.delete_heartbeat
    Delete Heartbeat
  • better_stack.delete_policy_group
    Delete Escalation Policy Group
  • better_stack.delete_source_group
    Delete Source Group
  • better_stack.delete_monitor_group
    Delete Monitor Group
  • better_stack.delete_urgency_group
    Delete Urgency Group
  • better_stack.delete_heartbeat_group
    Delete Heartbeat Group
  • better_stack.delete_incident_comment
    Delete Incident Comment
  • better_stack.delete_on_call_schedule
    Delete On-Call Schedule
  • better_stack.delete_outgoing_webhook
    Delete Outgoing Webhook Integration
  • better_stack.delete_escalation_policy
    Delete Escalation Policy
  • better_stack.delete_status_page_group
    Delete Status Page Group
  • better_stack.delete_status_page_report
    Delete Status Page Report
  • better_stack.delete_status_page_section
    Delete Status Page Section
+ 2 MORE
03 · HOW IT WORKS

Better Stack in three steps.

  1. 01Your users connect Better StackThey add their Better Stack api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create Monitor” can wait for the user, and “delete Monitor” can be denied outright.
  3. 03Any agent can actYour agent calls Better Stack through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('better_stack', {
  read: 'allow',
  write: 'ask',        // create_monitor
  destructive: 'deny',  // delete_monitor
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Better Stack connects.

Users add their Better Stack api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Better Stack connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Better Stack from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Better Stack and Arc0, answered.

Q01

Can I use Better Stack with Claude, ChatGPT or Cursor?

Yes. Connect Better Stack to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Better Stack actions you allow.

Q02

How do users connect Better Stack?

Users add their Better Stack api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Better Stack actions can my agent take?

117 in total: 60 read, 39 write and 18 destructive, such as “create Monitor”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Better Stack?

Yes. Actions like “delete Monitor” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Better Stack too?

Yes. The same Better Stack connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Better Stack into your agent.

Your users connect Better Stack once, under your brand. Your agent gets 117 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan