Instatus MCP server. Manage status pages: components, incidents and maintenances; set live component status.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"instatus": {
"url": "https://instatus.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
instatus_list_pages | read | List pages List all status pages on the account — each page's id, subdomain, name, status, url, custom domain, and timestamps. The page id is what every other tool takes as `page_id`. Instatus: GET /v2/pages. |
instatus_list_components | read | List components List a status page's components — id, name, description, status, order, showUptime, grouped, archived. The component ids are what you set impact on. Instatus: GET /v2/{page_id}/components. |
instatus_get_component | read | Get component Get a single component by id — its full state (name, description, status, order, showUptime, grouped, archived). Instatus: GET /v2/{page_id}/components/{component_id}. |
instatus_list_incidents | read | List incidents List a status page's incidents, most recent first — optionally filtered by status. Each incident: id, name, status, impact, affected components, updates, timestamps. Instatus: GET /v1/{page_id}/incidents. |
instatus_get_incident | read | Get incident Get a single incident by id — its full state including its update timeline and affected components. Instatus: GET /v1/{page_id}/incidents/{incident_id}. |
instatus_list_maintenances | read | List maintenances List a status page's scheduled maintenances, most recent first — id, name, status, affected components, start/end, updates. Instatus: GET /v2/{page_id}/maintenances. |
instatus_get_maintenance | read | Get maintenance Get a single scheduled maintenance by id — its full state including its update timeline and affected components. Instatus: GET /v1/{page_id}/maintenances/{maintenance_id}. |
instatus_update_component | write | Update component UPDATES a component by id — this MODIFIES live status-page data. The key way to set a component's operational status (OPERATIONAL, UNDERMAINTENANCE, DEGRADEDPERFORMANCE, PARTIALOUTAGE, MAJOROUTAGE). Send only the fields you want to change. Instatus: PUT /v2/{page_id}/components/{component_id}. Returns the updated component. |
instatus_create_incident | write | Create incident CREATES a new incident — this MODIFIES live status-page data and can notify subscribers. Provide `name` (required); optionally set the initial `message`, affected `components`, per-component impact via `statuses`, `status`, `started`, `notify`, and `shouldPublish`. Instatus: POST /v1/{page_id}/incidents. Returns the created incident. |
instatus_update_incident | write | Update incident UPDATES an existing incident by id — this MODIFIES live status-page data and can notify subscribers (e.g. move it to MONITORING or RESOLVED). Send only the fields you want to change. Instatus: PUT /v1/{page_id}/incidents/{incident_id}. Returns the updated incident. |
instatus_delete_incident | write | Delete incident PERMANENTLY DELETES an incident by id — this MODIFIES live status-page data and cannot be undone. Instatus: DELETE /v1/{page_id}/incidents/{incident_id}. |
instatus_create_maintenance | write | Create maintenance CREATES a new scheduled maintenance — this MODIFIES live status-page data and can notify subscribers. Provide `name` (required); optionally set `message`, affected `components`, per-component impact via `statuses`, `status`, `start`/`end`, `duration`, and `notify`. Instatus: POST /v1/{page_id}/maintenances. Returns the created maintenance. |
instatus_update_maintenance | write | Update maintenance UPDATES an existing scheduled maintenance by id — this MODIFIES live status-page data and can notify subscribers. Send only the fields you want to change. Instatus: PUT /v1/{page_id}/maintenances/{maintenance_id}. Returns the updated maintenance. |
instatus_delete_maintenance | write | Delete maintenance PERMANENTLY DELETES a scheduled maintenance by id — this MODIFIES live status-page data and cannot be undone. Instatus: DELETE /v1/{page_id}/maintenances/{maintenance_id}. |
instatus_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
instatus_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Instatus tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.