Status.io MCP by usefulapi
Read Status.io components, incidents, maintenance; post incidents, schedule maintenance, set status.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (3)
- LOWin statusio_list_resolved_incidents
- LOWin statusio_get_maintenance_message
- LOWin statusio_update_component_status
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"status-io": {
"url": "https://status-io.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://status-io.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (20)
🟢statusio_get_status_summary(statuspage_id)
The current state of the status page in one call: overall status, every component and container with its status code and last update, open incidents and active/upcoming maintenance. Start here. GET /status/summary/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_list_components(statuspage_id)
List the components of the status page and the containers (data centers / locations) attached to each, with ids. Component and container ids are needed to update a status or to say what an incident affects ('<component_id>-<container_id>'). GET /component/list/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_list_incidents(statuspage_id)
The ids of all active and resolved incidents (ids only, no details): a quick way to see which incidents exist. Fetch one with statusio_get_incident. GET /incidents/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_list_active_incidents(statuspage_id, page)
Active (unresolved) incidents with their messages and affected components. GET /incident/list/active/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"page": {
"description": "Page number, from 1 (default 1). Status.io reports no totals: ask for the next page until a page comes back empty.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_list_resolved_incidents(statuspage_id, page)
Resolved incidents (history) with their messages and affected components. GET /incident/list/resolved/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"page": {
"description": "Page number, from 1 (default 1). Status.io reports no totals: ask for the next page until a page comes back empty.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_get_incident(incident_id, statuspage_id)
One incident in full: components, containers, infrastructure affected and all its messages. GET /incident/{statuspage_id}/{incident_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"incident_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Incident id (from statusio_list_incidents or the active/resolved lists)."
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"incident_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_get_incident_message(message_id, statuspage_id)
One message (update) of an incident: text, state, status, time and the user who posted it. GET /incident/message/{statuspage_id}/{message_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"message_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Incident message id (from statusio_get_incident)."
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"message_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_list_maintenance_ids(statuspage_id)
The ids of all active, closed and upcoming maintenance events (ids only). Fetch one with statusio_get_maintenance. GET /maintenances/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_list_maintenance(state, statuspage_id, page)
Maintenance events in one state, with messages and affected components: pending (scheduled, not started), active (in progress) or closed (finished). GET /maintenance/list/{pending|active|closed}/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"pending",
"active",
"closed"
],
"description": "pending = scheduled and not started, active = in progress, closed = finished."
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"page": {
"description": "Page number, from 1 (default 1). Status.io reports no totals: ask for the next page until a page comes back empty.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"state"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_get_maintenance(maintenance_id, statuspage_id)
One maintenance event in full, with all messages and the infrastructure affected. GET /maintenance/{statuspage_id}/{maintenance_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"maintenance_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Maintenance id (from statusio_list_maintenance_ids or statusio_list_maintenance)."
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"maintenance_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_get_maintenance_message(message_id, statuspage_id)
One message of a maintenance event. GET /maintenance/message/{statuspage_id}/{message_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"message_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Maintenance message id (from statusio_get_maintenance)."
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"message_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢statusio_list_subscribers(statuspage_id)
List the people and endpoints subscribed to the status page (email addresses, phone numbers, webhook hosts) with ids and their granular preferences. This is personal data of your subscribers. Webhook URLs are shortened to their host, because they can carry secrets. GET /subscriber/list/{statuspage_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_update_component_status(component_id, container_id, status, details, statuspage_id)
WRITE: change the PUBLIC status of one component/container pair (for example to degraded_performance) without creating an incident. It changes what visitors of your status page see right away. Set it back to operational when done. Ids from statusio_list_components. POST /component/status/update.
Eingabe-Schema
{
"type": "object",
"properties": {
"component_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Component id."
},
"container_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Container id; it must be attached to that component."
},
"status": {
"type": "string",
"enum": [
"operational",
"planned_maintenance",
"degraded_performance",
"partial_service_disruption",
"service_disruption",
"security_issue"
],
"description": "New status level."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Short message shown with the status change."
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"component_id",
"container_id",
"status",
"details"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_create_incident(name, details, status, state, all_infrastructure_affected, ...)
WRITE: open a new incident on the PUBLIC status page. It is visible to every visitor immediately and sets the status of the affected components. No subscriber, Slack, Teams, IRC or Twitter notification is sent unless you switch it on (notify_*). Returns the new incident id. Say what is affected with all_infrastructure_affected or infrastructure_affected pairs. POST /incident/create.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Short incident title."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Message describing the incident."
},
"status": {
"type": "string",
"enum": [
"operational",
"degraded_performance",
"partial_service_disruption",
"service_disruption",
"security_issue"
],
"description": "Status the affected components get."
},
"state": {
"description": "Incident state (default investigating).",
"type": "string",
"enum": [
"investigating",
"identified",
"monitoring"
]
},
"all_infrastructure_affected": {
"description": "true = every component and container is affected. Otherwise give infrastructure_affected.",
"type": "boolean"
},
"infrastructure_affected": {
"description": "Affected pairs, each '<component_id>-<container_id>' (ids from statusio_list_components).",
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"maxLength": 140,
"pattern": "^[A-Za-z0-9_]+-[A-Za-z0-9_]+$"
}
},
"notify_email": {
"description": "Also email your email subscribers (default false).",
"type": "boolean"
},
"notify_sms": {
"description": "Also text your SMS subscribers (default false).",
"type": "boolean"
},
"notify_webhook": {
"description": "Also call your webhook subscribers (default false).",
"type": "boolean"
},
"notify_slack": {
"description": "Also post to your connected Slack channels (default false).",
"type": "boolean"
},
"notify_msteams": {
"description": "Also post to your connected Microsoft Teams channels (default false).",
"type": "boolean"
},
"notify_irc": {
"description": "Also post to your connected IRC channel (default false).",
"type": "boolean"
},
"post_to_twitter": {
"description": "Also post to your connected Twitter/X account (default false).",
"type": "boolean"
},
"message_subject": {
"description": "Subject line for the email notification.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"name",
"details",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_update_incident(incident_id, details, status, state, notify_email, ...)
WRITE: post a new update message on an existing incident and set its state and component status. The message is public at once. No subscriber or channel notification is sent unless you switch it on (notify_*). To close an incident use statusio_resolve_incident. POST /incident/update.
Eingabe-Schema
{
"type": "object",
"properties": {
"incident_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Incident id."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Message describing this update."
},
"status": {
"type": "string",
"enum": [
"operational",
"degraded_performance",
"partial_service_disruption",
"service_disruption",
"security_issue"
],
"description": "Status the affected components get now."
},
"state": {
"type": "string",
"enum": [
"investigating",
"identified",
"monitoring"
],
"description": "Incident state now."
},
"notify_email": {
"description": "Also email your email subscribers (default false).",
"type": "boolean"
},
"notify_sms": {
"description": "Also text your SMS subscribers (default false).",
"type": "boolean"
},
"notify_webhook": {
"description": "Also call your webhook subscribers (default false).",
"type": "boolean"
},
"notify_slack": {
"description": "Also post to your connected Slack channels (default false).",
"type": "boolean"
},
"notify_msteams": {
"description": "Also post to your connected Microsoft Teams channels (default false).",
"type": "boolean"
},
"notify_irc": {
"description": "Also post to your connected IRC channel (default false).",
"type": "boolean"
},
"post_to_twitter": {
"description": "Also post to your connected Twitter/X account (default false).",
"type": "boolean"
},
"message_subject": {
"description": "Subject line for the email notification.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"incident_id",
"details",
"status",
"state"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_resolve_incident(incident_id, details, notify_email, notify_sms, notify_webhook, ...)
WRITE: resolve an incident with a closing message. The affected components return to operational and the incident moves to history. No notification is sent unless you switch it on (notify_*). POST /incident/resolve.
Eingabe-Schema
{
"type": "object",
"properties": {
"incident_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Incident id."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Message describing the resolution."
},
"notify_email": {
"description": "Also email your email subscribers (default false).",
"type": "boolean"
},
"notify_sms": {
"description": "Also text your SMS subscribers (default false).",
"type": "boolean"
},
"notify_webhook": {
"description": "Also call your webhook subscribers (default false).",
"type": "boolean"
},
"notify_slack": {
"description": "Also post to your connected Slack channels (default false).",
"type": "boolean"
},
"notify_msteams": {
"description": "Also post to your connected Microsoft Teams channels (default false).",
"type": "boolean"
},
"notify_irc": {
"description": "Also post to your connected IRC channel (default false).",
"type": "boolean"
},
"post_to_twitter": {
"description": "Also post to your connected Twitter/X account (default false).",
"type": "boolean"
},
"message_subject": {
"description": "Subject line for the email notification.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"incident_id",
"details"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_schedule_maintenance(name, details, start, end, all_infrastructure_affected, ...)
WRITE: schedule a planned maintenance on the PUBLIC status page. It is visible to visitors as upcoming maintenance. Subscribers are told only if you switch on notify_now / notify_72_hr / notify_24_hr / notify_1_hr (all default off). With automation true Status.io starts and ends it by itself at the planned times. Returns the maintenance id. POST /maintenance/schedule.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Short maintenance title."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Message describing the maintenance."
},
"start": {
"type": "string",
"description": "Planned start, 'YYYY-MM-DD HH:mm' (24-hour). Status.io's reference does not state the time zone of this input: check the scheduled time in your dashboard."
},
"end": {
"type": "string",
"description": "Planned end, 'YYYY-MM-DD HH:mm' (24-hour); after the start."
},
"all_infrastructure_affected": {
"description": "true = every component and container is affected. Otherwise give infrastructure_affected.",
"type": "boolean"
},
"infrastructure_affected": {
"description": "Affected pairs, each '<component_id>-<container_id>' (ids from statusio_list_components).",
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"maxLength": 140,
"pattern": "^[A-Za-z0-9_]+-[A-Za-z0-9_]+$"
}
},
"notify_now": {
"description": "Tell subscribers right away (default false).",
"type": "boolean"
},
"notify_72_hr": {
"description": "Remind subscribers 72 hours before the start (default false).",
"type": "boolean"
},
"notify_24_hr": {
"description": "Remind subscribers 24 hours before the start (default false).",
"type": "boolean"
},
"notify_1_hr": {
"description": "Remind subscribers 1 hour before the start (default false).",
"type": "boolean"
},
"automation": {
"description": "Start and end the maintenance automatically at the planned times (default false).",
"type": "boolean"
},
"automation_start_text": {
"description": "Message posted when the maintenance starts (with automation).",
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"automation_stop_text": {
"description": "Message posted when the maintenance ends (with automation).",
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"message_subject": {
"description": "Subject line for the email notifications.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"name",
"details",
"start",
"end"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_start_maintenance(maintenance_id, details, notify_email, notify_sms, notify_webhook, ...)
WRITE: start a scheduled maintenance now; it moves from pending to active and the affected components show planned maintenance. The message is public at once. No notification is sent unless you switch it on (notify_*). POST /maintenance/start.
Eingabe-Schema
{
"type": "object",
"properties": {
"maintenance_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Maintenance id."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Message describing this maintenance update."
},
"notify_email": {
"description": "Also email your email subscribers (default false).",
"type": "boolean"
},
"notify_sms": {
"description": "Also text your SMS subscribers (default false).",
"type": "boolean"
},
"notify_webhook": {
"description": "Also call your webhook subscribers (default false).",
"type": "boolean"
},
"notify_slack": {
"description": "Also post to your connected Slack channels (default false).",
"type": "boolean"
},
"notify_msteams": {
"description": "Also post to your connected Microsoft Teams channels (default false).",
"type": "boolean"
},
"notify_irc": {
"description": "Also post to your connected IRC channel (default false).",
"type": "boolean"
},
"post_to_twitter": {
"description": "Also post to your connected Twitter/X account (default false).",
"type": "boolean"
},
"message_subject": {
"description": "Subject line for the email notification.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"maintenance_id",
"details"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_update_maintenance(maintenance_id, details, notify_email, notify_sms, notify_webhook, ...)
WRITE: post a new status message on an active maintenance event. The message is public at once. No notification is sent unless you switch it on (notify_*). POST /maintenance/update.
Eingabe-Schema
{
"type": "object",
"properties": {
"maintenance_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Maintenance id."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Message describing this maintenance update."
},
"notify_email": {
"description": "Also email your email subscribers (default false).",
"type": "boolean"
},
"notify_sms": {
"description": "Also text your SMS subscribers (default false).",
"type": "boolean"
},
"notify_webhook": {
"description": "Also call your webhook subscribers (default false).",
"type": "boolean"
},
"notify_slack": {
"description": "Also post to your connected Slack channels (default false).",
"type": "boolean"
},
"notify_msteams": {
"description": "Also post to your connected Microsoft Teams channels (default false).",
"type": "boolean"
},
"notify_irc": {
"description": "Also post to your connected IRC channel (default false).",
"type": "boolean"
},
"post_to_twitter": {
"description": "Also post to your connected Twitter/X account (default false).",
"type": "boolean"
},
"message_subject": {
"description": "Subject line for the email notification.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"maintenance_id",
"details"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴statusio_finish_maintenance(maintenance_id, details, notify_email, notify_sms, notify_webhook, ...)
WRITE: finish an active maintenance event; it moves to history and the affected components return to operational. The message is public at once. No notification is sent unless you switch it on (notify_*). POST /maintenance/finish.
Eingabe-Schema
{
"type": "object",
"properties": {
"maintenance_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Maintenance id."
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Message describing this maintenance update."
},
"notify_email": {
"description": "Also email your email subscribers (default false).",
"type": "boolean"
},
"notify_sms": {
"description": "Also text your SMS subscribers (default false).",
"type": "boolean"
},
"notify_webhook": {
"description": "Also call your webhook subscribers (default false).",
"type": "boolean"
},
"notify_slack": {
"description": "Also post to your connected Slack channels (default false).",
"type": "boolean"
},
"notify_msteams": {
"description": "Also post to your connected Microsoft Teams channels (default false).",
"type": "boolean"
},
"notify_irc": {
"description": "Also post to your connected IRC channel (default false).",
"type": "boolean"
},
"post_to_twitter": {
"description": "Also post to your connected Twitter/X account (default false).",
"type": "boolean"
},
"message_subject": {
"description": "Subject line for the email notification.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"statuspage_id": {
"description": "Status page id. Defaults to the status page chosen when you connected.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"required": [
"maintenance_id",
"details"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis