usefulapi

Instatus MCP server. Manage status pages: components, incidents and maintenances; set live component status.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://instatus.usefulapi.io/mcp
  3. Authenticate with Instatus when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "instatus": {
      "url": "https://instatus.usefulapi.io/mcp"
    }
  }
}
live16 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 16

ToolTypeWhat it does
instatus_list_pagesread
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_componentsread
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_componentread
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_incidentsread
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_incidentread
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_maintenancesread
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_maintenanceread
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_componentwrite
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_incidentwrite
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_incidentwrite
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_incidentwrite
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_maintenancewrite
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_maintenancewrite
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_maintenancewrite
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_statusmeta
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_upgrademeta
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.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper user$9/mo · $90/yrUnlimited

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.