betterstack
Read monitors, incidents, heartbeats, on-call and status pages; acknowledge or resolve incidents.
我該用這個嗎
品質與安全性
發現項目(2)
- HIGH
- MEDIUM在 list_monitors 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `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#"
}建議的提示詞
get_monitorget_monitorlist_monitorslist_monitorslist_monitorsget_monitor社群
證據