betterstack

Read monitors, incidents, heartbeats, on-call and status pages; acknowledge or resolve incidents.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
94%
이름 품질
96%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringlist_monitors에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,611토큰 (도구 정의)
~1.3 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.26%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "betterstack": {
      "url": "https://betterstack.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://betterstack.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (9)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_monitors(url, pronounceable_name, team_name, page, per_page)

List uptime monitors with their status (up/down/paused/pending/maintenance/validating), check frequency, and alert settings. Good first call to discover what is being monitored. Uptime API: GET /api/v2/monitors.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Filter monitors by their monitored URL.",
      "type": "string"
    },
    "pronounceable_name": {
      "description": "Filter monitors by their pronounceable name.",
      "type": "string"
    },
    "team_name": {
      "description": "Filter by team name (only when using a global API token).",
      "type": "string"
    },
    "page": {
      "description": "Page number for pagination (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_monitor(monitor_id)

Get a single monitor by id, including current status, last_checked_at, SSL/HTTP settings, regions, and alerting configuration. Uptime API: GET /api/v2/monitors/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "monitor_id": {
      "type": "string",
      "description": "The monitor id (from list_monitors)."
    }
  },
  "required": [
    "monitor_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_incidents(from, to, monitor_id, heartbeat_id, resolved, ...)

List incidents (alerts triggered by monitors/heartbeats), filterable by date range, monitor, and acknowledged/resolved state. Each incident carries cause, started_at, acknowledged_at, resolved_at. Uptime API: GET /api/v3/incidents.

입력 스키마

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Start date yyyy-mm-dd (inclusive).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "to": {
      "description": "End date yyyy-mm-dd (inclusive).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "monitor_id": {
      "description": "Only incidents for this monitor id.",
      "type": "string"
    },
    "heartbeat_id": {
      "description": "Only incidents for this heartbeat id.",
      "type": "string"
    },
    "resolved": {
      "description": "true = only resolved, false = only unresolved.",
      "type": "boolean"
    },
    "acknowledged": {
      "description": "true = only acknowledged, false = only unacknowledged.",
      "type": "boolean"
    },
    "team_name": {
      "description": "Filter by team name (only when using a global API token).",
      "type": "string"
    },
    "page": {
      "description": "Page number for pagination (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_incident(incident_id)

Get a single incident by id, including cause, status, timeline timestamps (started/acknowledged/resolved), who acknowledged/resolved it, and the related monitor. Uptime API: GET /api/v3/incidents/{id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "incident_id": {
      "type": "string",
      "description": "The incident id (from list_incidents)."
    }
  },
  "required": [
    "incident_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_heartbeats(team_name, page, per_page)

List heartbeats (cron/background-job monitors that expect a periodic ping), with period, grace, and status (up/down/paused/pending). Uptime API: GET /api/v2/heartbeats.

입력 스키마

{
  "type": "object",
  "properties": {
    "team_name": {
      "description": "Filter by team name (only when using a global API token).",
      "type": "string"
    },
    "page": {
      "description": "Page number for pagination (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_on_call(team_name, page, per_page)

List on-call calendars/schedules and the users currently on call for escalation. Useful to see who gets paged. Uptime API: GET /api/v2/on-calls.

입력 스키마

{
  "type": "object",
  "properties": {
    "team_name": {
      "description": "Filter by team name (only when using a global API token).",
      "type": "string"
    },
    "page": {
      "description": "Page number for pagination (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_status_pages(team_name, page, per_page)

List public/private status pages with company name, subdomain, aggregate_state, and published flag. Uptime API: GET /api/v2/status-pages.

입력 스키마

{
  "type": "object",
  "properties": {
    "team_name": {
      "description": "Filter by team name (only when using a global API token).",
      "type": "string"
    },
    "page": {
      "description": "Page number for pagination (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡acknowledge_incident(incident_id, acknowledged_by)

Acknowledge an ongoing incident, signalling that someone is looking into it (stops further escalation). Idempotent-ish: acknowledging an already-acknowledged incident returns HTTP 409. Uptime API: POST /api/v3/incidents/{id}/acknowledge.

입력 스키마

{
  "type": "object",
  "properties": {
    "incident_id": {
      "type": "string",
      "description": "The incident id to acknowledge (from list_incidents)."
    },
    "acknowledged_by": {
      "type": "string",
      "description": "User e-mail or a custom identifier of who is acknowledging the incident."
    }
  },
  "required": [
    "incident_id",
    "acknowledged_by"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡resolve_incident(incident_id, resolved_by)

Resolve an ongoing incident, marking it as handled/closed. Idempotent-ish: resolving an already-resolved incident returns HTTP 409. Uptime API: POST /api/v3/incidents/{id}/resolve.

입력 스키마

{
  "type": "object",
  "properties": {
    "incident_id": {
      "type": "string",
      "description": "The incident id to resolve (from list_incidents)."
    },
    "resolved_by": {
      "type": "string",
      "description": "User e-mail or a custom identifier of who is resolving the incident."
    }
  },
  "required": [
    "incident_id",
    "resolved_by"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

권장 프롬프트

retrieve_data
Get details about [item] from betterstack
예상 도구: get_monitor
fetch_info
Fetch [information type] using betterstack
예상 도구: get_monitor
list_items
List all [items] available in betterstack
예상 도구: list_monitors
browse_collection
Show me the [collection] from betterstack
예상 도구: list_monitors
explore_workflow
List available [items], then get details for each one using betterstack
예상 도구: list_monitorsget_monitor

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 9개