Manage incidents and on-call: list/create/update incidents, who is on call, on-call overrides.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Creates a new incident on the LIVE account (may trigger alerting/paging). `status` and `severity` are free-form strings the API validates against your account's configuration — common `severity` values include "Warning", "Minor", "Major", "Critical", and `status` reflects the incident lifecycle (e.g. "Open"/"Resolved"); confirm the valid values for your account before calling. All Quiet: POST /v1/incident.
Incident title (required).
Incident status (required) — free-form, validated by the API; reflects the incident lifecycle (e.g. "Open"/"Resolved"). Confirm valid values for your account.
Incident severity (required) — free-form, validated by the API; common values include "Warning", "Minor", "Major", "Critical". Confirm valid values for your account.
Incident message/description.
Ids of teams to associate with the incident.
Ids of affected services.
Id of the integration that should own/route the incident.
Whether the message is visible on a public status page.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Creates a new incident on the LIVE account (may trigger alerting/paging). `status` and `severity` are free-form strings the API validates against your account's configuration — common `severity` values include "Warning", "Minor", "Major", "Critical", and `status` reflects the incident lifecycle (e.g. "Open"/"Resolved"); confirm the valid values for your account before calling. All Quiet: POST /v1/incident.
| Argument | Type | Description |
|---|---|---|
| title* | string | Incident title (required). |
| status* | string | Incident status (required) — free-form, validated by the API; reflects the incident lifecycle (e.g. "Open"/"Resolved"). Confirm valid values for your account. |
| message | string | Incident message/description. |
| teamIds | array | Ids of teams to associate with the incident. |
| severity* | string | Incident severity (required) — free-form, validated by the API; common values include "Warning", "Minor", "Major", "Critical". Confirm valid values for your account. |
| serviceIds | array | Ids of affected services. |
| integrationId | string | Id of the integration that should own/route the incident. |
| messageIsPublic | boolean | Whether the message is visible on a public status page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"status",
"severity"
],
"properties": {
"title": {
"type": "string",
"description": "Incident title (required)."
},
"status": {
"type": "string",
"description": "Incident status (required) — free-form, validated by the API; reflects the incident lifecycle (e.g. \"Open\"/\"Resolved\"). Confirm valid values for your account."
},
"message": {
"type": "string",
"description": "Incident message/description."
},
"teamIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ids of teams to associate with the incident."
},
"severity": {
"type": "string",
"description": "Incident severity (required) — free-form, validated by the API; common values include \"Warning\", \"Minor\", \"Major\", \"Critical\". Confirm valid values for your account."
},
"serviceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ids of affected services."
},
"integrationId": {
"type": "string",
"description": "Id of the integration that should own/route the incident."
},
"messageIsPublic": {
"type": "boolean",
"description": "Whether the message is visible on a public status page."
}
}
}Creates an on-call override for a user on the LIVE account (temporarily changes who is on call). `type` is a free-form override kind and `start`/`end` govern the override window — confirm the valid `type` values for your account. All Quiet: POST /v1/on-call-override.
| Argument | Type | Description |
|---|---|---|
| end | string | ISO8601 end of the override window. |
| type* | string | Override kind (required) — free-form, validated by the API. Confirm valid values for your account. |
| start | string | ISO8601 start of the override window. |
| teamId | string | Team id the override applies within. |
| userId* | string | The user id the override applies to (required). |
| escalationTier | number | Escalation tier the override applies to. |
| replacementUserIds | array | Ids of the replacement user(s) on call. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"userId",
"type"
],
"properties": {
"end": {
"type": "string",
"description": "ISO8601 end of the override window."
},
"type": {
"type": "string",
"description": "Override kind (required) — free-form, validated by the API. Confirm valid values for your account."
},
"start": {
"type": "string",
"description": "ISO8601 start of the override window."
},
"teamId": {
"type": "string",
"description": "Team id the override applies within."
},
"userId": {
"type": "string",
"description": "The user id the override applies to (required)."
},
"escalationTier": {
"type": "number",
"description": "Escalation tier the override applies to."
},
"replacementUserIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ids of the replacement user(s) on call."
}
}
}Get a single incident by its id. All Quiet: GET /v1/incident/search/{incidentId}.
| Argument | Type | Description |
|---|---|---|
| incidentId* | string | The incident id (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"incidentId"
],
"properties": {
"incidentId": {
"type": "string",
"description": "The incident id (required)."
}
}
}Get a markdown rendering of a single incident by its id (useful for pasting into a doc or chat). All Quiet: GET /v1/incident/search/{incidentId}/markdown.
| Argument | Type | Description |
|---|---|---|
| incidentId* | string | The incident id (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"incidentId"
],
"properties": {
"incidentId": {
"type": "string",
"description": "The incident id (required)."
}
}
}Search/list incidents with filters (status, severity, team, user, search term, archived/snoozed, date range) and pagination. All Quiet: GET /v1/incident/search/list.
| Argument | Type | Description |
|---|---|---|
| asc | boolean | Sort ascending (default descending). |
| limit | number | Max incidents to return. |
| offset | number | Pagination offset. |
| sortBy | string | Field to sort by. |
| teamIds | array | Filter by team id(s). |
| userIds | array | Filter by assigned user id(s). |
| statuses | array | Filter by incident status(es). |
| isArchived | boolean | Filter by archived state. |
| searchTerm | string | Free-text search term. |
| severities | array |
Search/list on-call overrides for a given user. All Quiet: GET /v1/on-call-override/search/list.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max overrides to return. |
| offset | number | Pagination offset. |
| userId* | string | The user id to list overrides for (required). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"userId"
],
"properties": {
"limit": {
"type": "number",
"description": "Max overrides to return."
},
"offset": {
"type": "number",
"description": "Pagination offset."
},
"userId": {
"type": "string",
"description": "The user id to list overrides for (required)."
}
}
}Search/list teams, optionally filtered by display name. All Quiet: GET /v1/team/search/list.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max teams to return. |
| offset | number | Pagination offset. |
| displayName | string | Filter by team display name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "number",
"description": "Max teams to return."
},
"offset": {
"type": "number",
"description": "Pagination offset."
},
"displayName": {
"type": "string",
"description": "Filter by team display name."
}
}
}Search/list users, optionally filtered by email or display name. All Quiet: GET /v1/user/search/list.
| Argument | Type | Description |
|---|---|---|
| string | Filter by user email. | |
| limit | number | Max users to return. |
| offset | number | Pagination offset. |
| displayName | string | Filter by user display name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"type": "string",
"description": "Filter by user email."
},
"limit": {
"type": "number",
"description": "Max users to return."
},
"offset": {
"type": "number",
"description": "Pagination offset."
},
"displayName": {
"type": "string",
"description": "Filter by user display name."
}
}
}Get a summed on-call duration report over a time window, optionally filtered by user/team/escalation tier. All Quiet: GET /v1/on-call-report/sum.
| Argument | Type | Description |
|---|---|---|
| end* | string | ISO8601 end of the report window (required). |
| start* | string | ISO8601 start of the report window (required). |
| teamId | string | Filter by team id. |
| userId | string | Filter by user id. |
| maxTier | number | Only include escalation tiers up to this number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"description": "ISO8601 end of the report window (required)."
},
"start": {
"type": "string",
"description": "ISO8601 start of the report window (required)."
},
"teamId": {
"type": "string",
"description": "Filter by team id."
},
"userId": {
"type": "string",
"description": "Filter by user id."
},
"maxTier": {
"type": "number",
"description": "Only include escalation tiers up to this number."
}
}
}Applies an operation to an existing LIVE incident: change its severity and/or append an intent (a lifecycle action such as acknowledge/resolve/reopen/snooze — a status transition). At least one of `changeSeverity` or `appendIntent` is required. All Quiet: PATCH /v1/incident/{incidentId}.
| Argument | Type | Description |
|---|---|---|
| incidentId* | string | The incident id to update (required). |
| appendIntent | string | Lifecycle action/intent to append (e.g. acknowledge/resolve/reopen/snooze — a status transition). Confirm valid values for your account. |
| intentMessage | string | Optional message to attach to the appended intent. |
| changeSeverity | string | New severity to set on the incident. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"incidentId"
],
"properties": {
"incidentId": {
"type": "string",
"description": "The incident id to update (required)."
},
"appendIntent": {
"type": "string",
"description": "Lifecycle action/intent to append (e.g. acknowledge/resolve/reopen/snooze — a status transition). Confirm valid values for your account."
},
"intentMessage": {
"type": "string",
"description": "Optional message to attach to the appended intent."
},
"changeSeverity": {
"type": "string",
"description": "New severity to set on the incident."
}
}
}Get who is currently (or at a given point in time) on call, optionally filtered by team/user. All Quiet: GET /v1/on-call.
| Argument | Type | Description |
|---|---|---|
| teamIds | array | Filter by team id(s). |
| userIds | array | Filter by user id(s). |
| timestamp | string | ISO8601 point-in-time to check (defaults to now). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"teamIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by team id(s)."
},
"userIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by user id(s)."
},
"timestamp": {
"type": "string",
"description": "ISO8601 point-in-time to check (defaults to now)."
}
}
}| Filter by incident severity/severities. |
| unattended | boolean | Filter to incidents with no acknowledging user. |
| createdFrom | string | ISO8601 lower bound on creation time. |
| createdUntil | string | ISO8601 upper bound on creation time. |
| includeSnoozed | boolean | Whether to include snoozed incidents. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"asc": {
"type": "boolean",
"description": "Sort ascending (default descending)."
},
"limit": {
"type": "number",
"description": "Max incidents to return."
},
"offset": {
"type": "number",
"description": "Pagination offset."
},
"sortBy": {
"type": "string",
"description": "Field to sort by."
},
"teamIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by team id(s)."
},
"userIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by assigned user id(s)."
},
"statuses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by incident status(es)."
},
"isArchived": {
"type": "boolean",
"description": "Filter by archived state."
},
"searchTerm": {
"type": "string",
"description": "Free-text search term."
},
"severities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by incident severity/severities."
},
"unattended": {
"type": "boolean",
"description": "Filter to incidents with no acknowledging user."
},
"createdFrom": {
"type": "string",
"description": "ISO8601 lower bound on creation time."
},
"createdUntil": {
"type": "string",
"description": "ISO8601 upper bound on creation time."
},
"includeSnoozed": {
"type": "boolean",
"description": "Whether to include snoozed incidents."
}
}
}