From betterstack
Provides API patterns and tool usage for the Better Stack MCP server covering Uptime, Telemetry, and Error Tracking products.
How this skill is triggered — by the user, by Claude, or both
Slash command
/betterstack:api-patternsWhen to use
When working with available tools, authentication via Bearer token, API structure, cursor-based pagination, rate limiting, error handling. Use when: betterstack api, betterstack authentication, betterstack pagination, betterstack rate limit, betterstack mcp, betterstack tools, betterstack request, betterstack error, betterstack connection, betterstack token, betterstack credentials, or better stack api.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Better Stack provides an official hosted MCP server at `mcp.betterstack.com` covering three products in one server: **Uptime** (monitors, on-call, incidents, status pages), **Telemetry** (logs, metrics, ClickHouse SQL, dashboards), and **Error Tracking** (exceptions, releases). When accessed through the MCP Gateway, the Bearer token is injected automatically.
Better Stack provides an official hosted MCP server at mcp.betterstack.com covering three products in one server: Uptime (monitors, on-call, incidents, status pages), Telemetry (logs, metrics, ClickHouse SQL, dashboards), and Error Tracking (exceptions, releases). When accessed through the MCP Gateway, the Bearer token is injected automatically.
Better Stack authenticates using an API token passed as a Bearer token:
| Header | Description |
|---|---|
Authorization | Bearer <your-api-token> |
| Token Type | Scope | Where to Generate |
|---|---|---|
| Global API Token | All products, all teams | Better Stack > API tokens > Global API tokens |
| Uptime API Token | Uptime product only, team-scoped | Better Stack > API tokens > (select team) > Uptime API tokens |
Use the Global API Token for full MCP access across Uptime, Telemetry, and Error Tracking.
Environment Variables:
export BETTERSTACK_API_TOKEN="your-api-token"
IMPORTANT: Never hardcode credentials. Always use environment variables.
The MCP Gateway stores your token as an org credential and automatically forwards:
Authorization: Bearer <stored-api-token>
| Tool | Description |
|---|---|
list_monitors | List all monitors with status and uptime metrics |
get_monitor | Get monitor details (URL, threshold, check interval) |
create_monitor | Create a new uptime monitor |
update_monitor | Update monitor settings |
delete_monitor | Delete a monitor |
pause_monitor | Pause monitoring (during maintenance) |
resume_monitor | Resume a paused monitor |
| Tool | Description |
|---|---|
list_heartbeats | List all heartbeats |
get_heartbeat | Get heartbeat details |
create_heartbeat | Create a heartbeat monitor |
update_heartbeat | Update heartbeat settings |
delete_heartbeat | Delete a heartbeat |
| Tool | Description |
|---|---|
list_incidents | List incidents with status filters |
get_incident | Get incident details |
create_incident | Create a manual incident |
acknowledge_incident | Acknowledge an active incident |
resolve_incident | Resolve an incident |
| Tool | Description |
|---|---|
list_on_call_schedules | List all on-call schedules |
get_on_call_schedule | Get schedule details with rotation |
create_on_call_schedule | Create a new schedule |
update_on_call_schedule | Update schedule settings |
delete_on_call_schedule | Delete a schedule |
list_schedule_policies | List escalation/notification policies |
| Tool | Description |
|---|---|
list_status_pages | List all status pages |
get_status_page | Get status page details |
create_status_page | Create a new status page |
update_status_page | Update status page settings |
list_status_page_sections | List sections on a status page |
create_status_page_incident | Post an incident update to status page |
| Tool | Description |
|---|---|
execute_query | Run ClickHouse SQL against log/metric data |
list_saved_queries | List saved query templates |
get_saved_query | Get a saved query |
| Tool | Description |
|---|---|
list_dashboards | List all dashboards |
get_dashboard | Get dashboard details and panels |
create_dashboard | Create a new dashboard |
list_dashboard_panels | List panels on a dashboard |
| Tool | Description |
|---|---|
list_applications | List error tracking applications |
get_application | Get application error tracking details |
list_releases | List application releases |
create_release | Register a new release (for error tracking) |
Better Stack uses cursor-based pagination:
| Parameter | Description |
|---|---|
per_page | Results per page (max 50) |
page[after] | Cursor from previous response to fetch next page |
Pattern:
per_page=50pagination.next in response -- if present, it contains the cursor URLpage[after] cursor and pass to the next callpagination.next is nullBetter Stack enforces API rate limits per token.
| Code | Meaning | Resolution |
|---|---|---|
| 401 | Unauthorized | Verify token; check it's a Global or Uptime API token |
| 403 | Forbidden | Global token needed for Telemetry/Error Tracking |
| 404 | Not Found | Verify ID with a list call |
| 422 | Unprocessable Entity | Check required fields in the request |
| 429 | Rate Limited | Back off 30 seconds; retry |
| 503 | Service Unavailable | Check status.betterstack.com |
{
"errors": [
{
"status": "422",
"title": "Unprocessable Entity",
"detail": "URL is not a valid URL"
}
]
}
execute_query) for log analysis over browsingnpx claudepluginhub wyre-technology/msp-claude-plugins --plugin betterstackLists, triages, acknowledges, and resolves Better Stack incidents triggered by uptime monitors or manual reports.
Connects to Grafana Cloud MCP server for 60+ monitoring tools: search dashboards, query Prometheus, manage alerts/incidents. Covers OAuth setup, read/write scopes, and context window management.
Covers Rootly MCP tool authentication, all 25 tools by category, JSON:API pagination, request patterns, rate limits, and error handling.