Status.io MCP by usefulapi
Read Status.io components, incidents, maintenance; post incidents, schedule maintenance, set status.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- LOWen statusio_list_resolved_incidents
- LOWen statusio_get_maintenance_message
- LOWen statusio_update_component_status
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"status-io": {
"url": "https://status-io.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://status-io.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia