# Instatus MCP

> Instatus (Status Pages API) connects your AI agent directly to your service health data. You can manage incidents, update component statuses, and pull system metrics without leaving your IDE or terminal. Keep users informed in real-time during an outage.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** status-page, incident-management, uptime-monitoring, devops, system-health

## Description

When things break, you don't have time for dashboards. This MCP lets you manage all status page content—incidents, components, and metrics—using natural conversation through any AI client. Instead of jumping between multiple systems to figure out the status, your agent handles it all. It’s about making sure the right people get accurate updates instantly.

For instance, if a database component goes down, you can tell your agent to update its status and simultaneously create an incident report for the team. The system records everything automatically. Because this MCP is hosted on Vinkius, you access all these powerful tools in one place. It’s pure command-line reliability for service monitoring.

## Tools

### add_metric_datapoint
Adds one single data point to an existing tracked metric.

### add_metric_datapoints_bulk
Adds multiple performance datapoints to a metric at once.

### add_metric
Adds a brand new performance metric to your status page record.

### add_subscriber
Registers one new person who needs status page updates.

### add_subscribers_bulk
Bulk adds up to 100 subscribers to your service pages.

### add_teammate
Adds a new team member to the status page user list.

### create_component
Creates an entirely new infrastructure component entry on your status page.

### create_incident_from_template
Creates an incident using pre-written templates to save time during reporting.

### create_incident
Generates a fresh incident report for the service, noting the outage details.

### create_maintenance
Sets up a planned maintenance window on the status page for future reference.

### delete_component
Removes an unnecessary component from your active service listing.

### delete_incident
Clears out old or resolved incident reports from the page history.

### delete_maintenance
Removes a planned maintenance window that has already passed.

### delete_metric_datapoints
Delete datapoints from a metric

### get_component
Retrieves all current details for a specific component on the page.

### get_incident
Fetches all information about one specific incident report.

### get_maintenance
Gets details and dates for a particular maintenance window.

### list_components
Pulls a list of every component currently listed on the status page.

### list_incidents
Gets a full rundown of all past and present incidents for the site.

### list_maintenances
Lists every planned maintenance event recorded on the page.

### list_metrics
Retrieves a list of all tracked performance metrics for the service.

### list_subscribers
Gets a roster and details of every person subscribed to status updates.

### list_teammates
Retrieves the full list of team members associated with the service page.

### remove_subscriber
Unsubscribes a specific user from receiving status updates.

### remove_teammate
Removes a team member's account access to the page.

### update_component
Changes the status or details of an already listed component.

### update_incident
Modifies details, like severity or resolution time, for an existing incident report.

### update_maintenance
Adjusts the dates or status of a scheduled maintenance window.

## Prompt Examples

**Prompt:** 
```
List all my Instatus status pages.
```

**Response:** 
```
I've retrieved your pages. You have one active page: 'Cloud Services Status' (ID: cl-12345). Would you like to check its components or incidents?
```

**Prompt:** 
```
Report a 'Major Outage' incident for the API on page cl-12345.
```

**Response:** 
```
I've created the incident 'Major Outage' for page cl-12345. The status is now live on your page and users have been notified.
```

**Prompt:** 
```
Update the 'Database' component status to 'OPERATIONAL' on page cl-12345.
```

**Response:** 
```
The 'Database' component on page cl-12345 has been successfully updated to 'OPERATIONAL'.
```

## Capabilities

### Manage Outage Reports
Create new incidents or modify existing ones to keep stakeholders informed during unplanned downtime.

### Update Component Statuses
Change the status of specific infrastructure parts, like APIs or databases, from 'Operational' to 'Degraded'.

### Track System Health History
List all active incidents and maintenance windows for a complete view of service availability.

### Monitor Performance Metrics
Add, update, or delete metrics data points to track performance over time.

## Use Cases

### The immediate outage report
A critical API goes down at 3 AM. Instead of jumping into the status page UI, you tell your agent: 'Create an incident' and then 'Update the API component to degraded.' The agent executes both actions immediately.

### The post-mortem review
After a week of downtime, management needs a full report. You ask your agent to run `list_incidents` and then pull metrics using `get_incident` for the period in question, giving them one clean data package.

### The scheduled change
You're preparing a deployment that requires downtime. You tell your agent to first 'Create maintenance' and then list all components so you can confirm which ones need special attention during the window.

## Benefits

- Stop manually updating statuses. Use the agent to update component status, like calling `update_component`, instantly when an API fails.
- Keep a clear audit trail of everything that happened. You can call `list_incidents` or `get_incident` to pull up the full history for post-mortem reports.
- Handle multiple users easily. Use `add_subscribers_bulk` and `add_teammate` to manage who sees what, all from the agent's command line interface.
- Track performance data automatically. Instead of spreadsheets, use `add_metric_datapoints_bulk` to feed metrics directly into your status page for better context.
- Coordinate planning with precision. Use the system to set up future work using `create_maintenance`, keeping outages and planned downtime separate.

## How It Works

The bottom line is, you talk to your agent like you're talking to a teammate; it handles the complex API calls behind the scenes.

1. Subscribe to this MCP and provide your Instatus API Key.
2. Connect the key to your preferred AI client (e.g., Cursor or Claude).
3. Tell your agent what you need done: 'Update the database component status to degraded and list all active incidents.'

## Frequently Asked Questions

**How do I start an incident using the create_incident tool?**
You tell your agent to 'create a new incident.' It will prompt you for details like severity, title, and affected components. This saves you from having to manually fill out all the forms in the web UI.

**What is the difference between list_components and get_component?**
`list_components` gives you a full roster of every component on the page, while `get_component` dives deep to show all the details for just one specific component.

**Can I bulk add metrics using add_metric_datapoints_bulk?**
Yes. This tool lets you send a bunch of metric readings at once, which is way faster than calling `add_metric_datapoint` for every single data point.

**Do I need to update the maintenance window after it's done?**
Yes. After the work is complete, use the agent to call `update_maintenance` and change its status to 'Completed.' This keeps your record clean for future reference.

**What if I want to see all historical issues? Should I use list_incidents?**
Exactly. Using `list_incidents` gives you the complete history of every reported outage, which is critical for compliance and post-mortem analysis.

**What is the best way to manage user accounts using the add_subscriber tool?**
You use this tool to onboard new client access. When adding a subscriber, always confirm their unique identifier and required scope permissions before invoking it. This prevents unauthorized data read/write actions later on.

**If I try to update component status with update_component but get an error, how do I troubleshoot?**
First, run the get_component tool using the specific ID you intend to modify. This confirms the resource exists and verifies your access permissions before attempting the update call again.

**When should I use add_metric_datapoint instead of adding metrics in bulk?**
Use this single-point tool when you need immediate, isolated data entry. It's ideal for real-time system checks or debugging where only one metric point needs to be logged right now.

**Can I update the status of a specific component like 'API' or 'Database'?**
Yes! Use the `update_component` tool by providing the Page ID and Component ID. You can set the status to 'OPERATIONAL', 'PARTIAL_OUTAGE', 'MAJOR_OUTAGE', or 'UNDER_MAINTENANCE' instantly.

**How do I list all current incidents for a specific status page?**
Simply ask the agent to run the `list_incidents` action for your target Page ID. It will return a list of all recorded incidents, including their current status and history.

**Is it possible to create a new incident report through the AI?**
Absolutely. Use the `add_incident` tool. You can provide a name, message, and status, and the AI will publish the incident to your Instatus page immediately.