# Instatus MCP connector

The Instatus connector brings your status pages, components, incidents, scheduled maintenances and templates to Claude, ChatGPT and Cursor, so anyone can post an incident update or check what is down without leaving the chat.

Source: https://elaichi.ai/connectors/instatus/

## Facts

| | |
| --- | --- |
| Application | Instatus |
| Category | Incident Management |
| AI tools | 96 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Instatus is connected

- Which components are degraded right now?
- Open an incident from the API outage template.
- Schedule maintenance on the checkout components for Saturday at 2am.

## Connect Instatus in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Instatus.
2. Optionally set Share with, then press Connect.
3. Paste an Instatus API key. One person generates a token in Instatus and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Instatus tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Instatus MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Instatus MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Instatus MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Instatus to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Instatus tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Instatus through Elaichi

### Open an incident while the queue fills

Support. When tickets about the same outage start arriving, open an Instatus incident from a template and mark the affected components, so customers see the status page before they write in.

### Post the next update from the war room

Engineering. Ask for the current incident and add the latest update in plain words while the fix is still in progress. Resolve it and set the components back to operational once it is over.

### Schedule Saturday's maintenance window

IT. Create a scheduled maintenance on the right Instatus page with the start time, the duration and the components it touches, then adjust it if the window moves.

### Check what is down before a call

Customer success. Ask which components are degraded right now and what the last incident update said, so you walk into a customer call already knowing.

### Keep incident wording consistent

Communications. Review the Instatus templates your team posts from, tighten the wording once and update them, so every future incident reads the same way.

### Keep the component list current

Product. When a new service ships or an old one is retired, add, rename or remove components on each Instatus page so the status page matches what customers actually use.

## Frequently asked questions

### How do I connect Instatus to Claude?

Connect Instatus in Elaichi first, which asks for an Instatus API key from your Instatus account settings, and there is no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in with your Elaichi account and Instatus is ready in the chat.

### Does Instatus work with ChatGPT and Cursor as well as Claude?

Yes. Once Instatus is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Instatus once and every client picks it up.

### What can an AI agent actually do with my Instatus status pages?

An agent can read your Instatus status pages, tell you which components are degraded, open an incident from a template, post the next update and resolve it when the fix lands. It can also schedule and adjust maintenance windows and keep components and templates current. Short, concrete asks such as post an update to the checkout incident work better than long paragraphs.

### Does connecting Instatus give the AI access to every status page?

No. Everything the AI does in Instatus runs under the Instatus account whose key was used to connect, so it can only reach the pages and components that account can reach. Elaichi can narrow that further, for example to reading only or to specific pages, but it can never widen it beyond what the account already has.

### Can my team share one Instatus connection?

Yes. One person connects Instatus in Elaichi and shares it with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log records who opened or resolved each Instatus incident.

### Can I stop an agent from deleting or changing things in Instatus?

Yes. Restrictions in Elaichi apply per action, so you can allow reading status and posting updates while blocking deleting pages, components or incidents in Instatus. A restricted action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to an Instatus connection when someone leaves?

Offboarding someone in Elaichi ends their access to Instatus through every client at once, with no key to rotate. A shared Instatus connection keeps working for everyone else on the team. If you later want it gone, disconnecting Instatus once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

### Does the Instatus MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Instatus is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 96 Instatus tools

Every tool below is callable through https://api.elaichi.ai/mcp once Instatus is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Instatus pages** (List). List the Instatus status pages in your workspace, one page per element. Returns status page objects including id, subdomain, name, status, language, brandColor, createdAt, and updatedAt. Pagination defaults to page 1 with 50 items per page, maximum 100.
- **Create a Instatus page** (Create). Create a new status page in Instatus. Returns the created page including id, subdomain, name, status, language, color settings, and the initial components array. Requires email, name, and subdomain.
- **Delete a Instatus page by ID** (Delete). Delete a status page in Instatus by its id. Returns an empty 204 response on success.
- **Update a Instatus page by ID** (Update). Update an existing status page in Instatus by its id. Returns the updated page including id, subdomain, name, status, subscriberConfirmationMode, and translations. Required: id.
- **List all Instatus components** (List). List all components on an Instatus status page. Returns each component's id, name, status, uniqueEmail, description, showUptime, order, group, and translations. Required: page_id. Max 100 items per page.
- **Create a Instatus component** (Create). Create a component on an Instatus status page. Returns the created component including id, name, status, uniqueEmail, showUptime, order, group, and translations. Required: page_id. Set grouped to true together with group to nest the component under a group.
- **Get single Instatus component by ID** (Get). Get a single component on an Instatus status page by id. Returns: id, name, description, status, uniqueEmail, showUptime, order, group, translations. Required: page_id, id.
- **Update a Instatus component by ID** (Update). Update a component on an Instatus status page by id. Returns the updated component including id, name, status, uniqueEmail, showUptime, order, group, and translations. Required: page_id, id. Set grouped to true together with groupId to change the component's group.
- **Delete a Instatus component by ID** (Delete). Delete a component from an Instatus status page by id. Returns: id, name, status, uniqueEmail, showUptime, order. Required: page_id, id.
- **List all Instatus incidents** (List). List all incidents on an Instatus status page. Returns: id, name, status, started, duration, resolved, updates, components, translations, user. Required: page_id. Max 100 items per page.
- **Create a Instatus incident** (Create). Create a new incident on an Instatus status page. Returns the created incident including id, name, status, started, resolved, updates, components, and user. Required: page_id, name.
- **Get single Instatus incident by ID** (Get). Get a single incident on an Instatus status page by id. Returns: id, name, status, started, duration, resolved, updates, components, translations, user. Required: page_id, id.
- **Update a Instatus incident by ID** (Update). Update an existing incident on an Instatus status page. Returns the updated incident including id, name, status, started, resolved, updates, components, and user. Required: page_id, id.
- **Delete a Instatus incident by ID** (Delete). Delete an existing incident on an Instatus status page by id. Returns the deleted incident's id. Required: page_id, id.
- **Instatus incidents create from template** (Create). Create an Instatus incident from a template on a status page. Returns the created incident with its id, name, status, started, impact, notify, automated, and siteId. Required: page_id, template.
- **List all Instatus maintenances** (List). List all maintenances for an Instatus status page. Returns maintenance objects with id, name, status, start, duration, updates, components, and translations. Required: page_id. Up to 100 items per page.
- **Create a Instatus maintenance** (Create). Create a new maintenance on an Instatus status page. Returns the created maintenance object with id, name, status, start, end, duration, updates, components, and translations. Required: page_id.
- **Get single Instatus maintenance by ID** (Get). Get a specific maintenance on an Instatus status page by id. Returns the maintenance object with id, name, status, start, end, duration, updates, components, and translations. Required: id, page_id.
- **Update a Instatus maintenance by ID** (Update). Update an existing maintenance on an Instatus status page. Returns the updated maintenance object with id, name, status, start, end, duration, updates, components, and translations. Required: id, page_id.
- **Delete a Instatus maintenance by ID** (Delete). Delete an existing maintenance on an Instatus status page. Returns: id. Required: id, page_id.
- **List all Instatus templates** (List). List all templates for an Instatus status page. Returns: id, type, name, nameTranslationId, message, messageTranslationId, messageHtml, messageHtmlTranslationId, status, notify, createdAt, siteId, importedFromStatuspage, deletedAt, origin, components, translations, importedFrom. Required: page_id.
- **Create a Instatus template** (Create). Create a new template for an Instatus status page. Returns the created template including id, type, name, status, message, and components. Required: page_id, type, name.
- **Get single Instatus template by ID** (Get). Get a single template on an Instatus status page by id. Returns: id, type, name, nameTranslationId, message, messageTranslationId, messageHtml, messageHtmlTranslationId, status, notify, createdAt, siteId, importedFromStatuspage, deletedAt, origin, components, translations, importedFrom. Required: id, page_id.
- **Update a Instatus template by ID** (Update). Update an existing template on an Instatus status page by id. Returns the updated template including id, type, name, status, message, and components. Required: id, page_id, type, name.
- **Delete a Instatus template by ID** (Delete). Delete an existing template on an Instatus status page by id. Returns the id of the deleted template. Required: id, page_id.
- **List all Instatus teams** (List). List teammates on an Instatus status page. Returns each team member's id and user object with the user's id, name, email, and avatar. Required: page_id. Max 100 per page.
- **Create a Instatus team** (Create). Add a team member to an Instatus status page. Returns: email, id. Required: page_id and email.
- **Delete a Instatus team by ID** (Delete). Delete a team member from an Instatus status page by id. Returns the removed member's memberId. Required: page_id and id.
- **List all Instatus team groups** (List). List team group members for a specific Instatus status page, including their team group assignments. Returns records with id, name, siteId, teammates, and components. Required: page_id. Max 100 items per page.
- **Create a Instatus team group** (Create). Add a new team group member to a specific Instatus status page. Returns the created team group record with id, name, siteId, teammates, and components. Required: page_id, name, teammates.
- **Delete a Instatus team group by ID** (Delete). Delete a team group member from a specific Instatus status page. Returns: memberId. Required: page_id, member_id, and id (the team group member's id).
- **List all Instatus subscribers** (List). List subscribers for an instatus status page, optionally filtered by email or phone number. Returns each subscriber's id, email, phone, webhook, confirmed, approved, all, and components. Max 100 per page. Required: page_id.
- **Create a Instatus subscriber** (Create). Add a new subscriber to an instatus status page, identifying the subscriber by email or phone. Returns the created subscriber detail including id, email, phone, confirmed, approved, createdAt, and site. autoConfirm adds the subscriber immediately without confirmation emails (Pro only). Required: page_id.
- **Instatus subscribers bulk create** (Create). Add multiple subscribers to an instatus status page in a single request. Returns: success, created, failed, results. Maximum 100 subscribers per request; partial success is supported. Required: page_id, subscribers.
- **Delete a Instatus subscriber by ID** (Delete). Remove a subscriber from an instatus status page by id. Returns the removed subscriber summary including id, email, phone, webhook, discord, company, and site. Required: page_id, id.
- **List all Instatus metrics** (List). List all metrics for a status page in instatus. Returns metric objects with id, name, active, order, suffix, lastDataAt, and datapoints. Required: page_id. Max 100 per page.
- **Create a Instatus metric** (Create). Add a metric to a status page in instatus. Returns the created metric object including its id, name, active, order, suffix, lastDataAt, and datapoints. Required: page_id and name.
- **Get single Instatus metric by ID** (Get). Get a metric by id on a status page in instatus. Returns: id, timestamp, value, name, active, order, suffix, lastDataAt, data. Required: page_id and id.
- **Update a Instatus metric by ID** (Update). Update an existing metric by id on a status page in instatus. Returns the updated metric object including its id, name, active, order, suffix, lastDataAt, and datapoints. Required: page_id and id.
- **Delete a Instatus metric by ID** (Delete). Delete an existing metric by id from a status page in instatus. Returns a 200 response on success. Required: id and page_id.
- **List all Instatus users** (List). Get the authenticated user's profile in Instatus. Returns: id, email, name, slug, avatar, error.
- **Get single Instatus summary by ID** (Get). Get the summary for a single cron monitor in Instatus: availability percentages and last-seen timestamps for the monitor (zeroed availabilities and null timestamps if it has never been pinged). Returns the summary object with id and attributes. Required: id.
- **List all Instatus audience groups** (List). List all audience groups for an instatus status page. Returns: id, siteId, name, teammates, components, site. Required: page_id. Max 100 items per page.
- **Create a Instatus audience group** (Create). Create an audience group on an instatus status page. Returns the created group with id, siteId, name, teammates, and components. Required: page_id.
- **Get single Instatus audience group by ID** (Get). Get a single instatus audience group by id. Returns: id, siteId, name, teammates, components, site. Required: page_id, id.
- **Update a Instatus audience group by ID** (Update). Update an instatus audience group by id, replacing its name, component, and teammate memberships. Returns: id, siteId, name, teammates, components, site. Required: page_id, id.
- **Delete a Instatus audience group by ID** (Delete). Delete an instatus audience group by id. Returns the deleted group with id, siteId, name, and site. Required: page_id, id.
- **Create a Instatus regenerate secure link** (Create). Regenerate the secure link for a specific private Instatus status page. Returns the secure link object with its id and secureLink URL. Required: page_id.
- **List all Instatus monitors check inserted logs** (List). Check inserted monitor logs in Instatus. Returns: message, error.g. "Monitor not found").
- **Create a Instatus monitors cron** (Create). Create a cron monitor in instatus that tracks a scheduled job via HTTP pings. Returns the created monitor's id, slug, period, grace, state, and onFail/onRecover settings; the slug is the secret used to build the monitor's ping URLs. Requires pageId, name, and period.
- ...and 46 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
