all-quiet

Manage incidents and on-call: list/create/update incidents, who is on call, on-call overrides.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
96%
Naming quality
76%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'allquiet_list_on_call_overrides' name length outside 3-30 rangein allquiet_list_on_call_overrides
  • LOWTool 'allquiet_create_on_call_override' name length outside 3-30 rangein allquiet_create_on_call_override

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,117Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (1.65% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "all-quiet": {
      "url": "https://all-quiet.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://all-quiet.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢allquiet_list_incidents(statuses, severities, teamIds, userIds, searchTerm, ...)

Search/list incidents with filters (status, severity, team, user, search term, archived/snoozed, date range) and pagination. All Quiet: GET /v1/incident/search/list.

Input Schema

{
  "type": "object",
  "properties": {
    "statuses": {
      "description": "Filter by incident status(es).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "severities": {
      "description": "Filter by incident severity/severities.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "teamIds": {
      "description": "Filter by team id(s).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "userIds": {
      "description": "Filter by assigned user id(s).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "searchTerm": {
      "description": "Free-text search term.",
      "type": "string"
    },
    "unattended": {
      "description": "Filter to incidents with no acknowledging user.",
      "type": "boolean"
    },
    "isArchived": {
      "description": "Filter by archived state.",
      "type": "boolean"
    },
    "includeSnoozed": {
      "description": "Whether to include snoozed incidents.",
      "type": "boolean"
    },
    "limit": {
      "description": "Max incidents to return.",
      "type": "number"
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "number"
    },
    "sortBy": {
      "description": "Field to sort by.",
      "type": "string"
    },
    "asc": {
      "description": "Sort ascending (default descending).",
      "type": "boolean"
    },
    "createdFrom": {
      "description": "ISO8601 lower bound on creation time.",
      "type": "string"
    },
    "createdUntil": {
      "description": "ISO8601 upper bound on creation time.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢allquiet_get_incident(incidentId)

Get a single incident by its id. All Quiet: GET /v1/incident/search/{incidentId}.

Input Schema

{
  "type": "object",
  "properties": {
    "incidentId": {
      "type": "string",
      "description": "The incident id (required)."
    }
  },
  "required": [
    "incidentId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢allquiet_get_incident_markdown(incidentId)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "incidentId": {
      "type": "string",
      "description": "The incident id (required)."
    }
  },
  "required": [
    "incidentId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢allquiet_who_is_on_call(teamIds, userIds, timestamp)

Get who is currently (or at a given point in time) on call, optionally filtered by team/user. All Quiet: GET /v1/on-call.

Input Schema

{
  "type": "object",
  "properties": {
    "teamIds": {
      "description": "Filter by team id(s).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "userIds": {
      "description": "Filter by user id(s).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "timestamp": {
      "description": "ISO8601 point-in-time to check (defaults to now).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢allquiet_on_call_report(start, end, userId, teamId, maxTier)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "ISO8601 start of the report window (required)."
    },
    "end": {
      "type": "string",
      "description": "ISO8601 end of the report window (required)."
    },
    "userId": {
      "description": "Filter by user id.",
      "type": "string"
    },
    "teamId": {
      "description": "Filter by team id.",
      "type": "string"
    },
    "maxTier": {
      "description": "Only include escalation tiers up to this number.",
      "type": "number"
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢allquiet_list_teams(displayName, offset, limit)

Search/list teams, optionally filtered by display name. All Quiet: GET /v1/team/search/list.

Input Schema

{
  "type": "object",
  "properties": {
    "displayName": {
      "description": "Filter by team display name.",
      "type": "string"
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "number"
    },
    "limit": {
      "description": "Max teams to return.",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢allquiet_list_users(email, displayName, offset, limit)

Search/list users, optionally filtered by email or display name. All Quiet: GET /v1/user/search/list.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Filter by user email.",
      "type": "string"
    },
    "displayName": {
      "description": "Filter by user display name.",
      "type": "string"
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "number"
    },
    "limit": {
      "description": "Max users to return.",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢allquiet_list_on_call_overrides(userId, offset, limit)

Search/list on-call overrides for a given user. All Quiet: GET /v1/on-call-override/search/list.

Input Schema

{
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "description": "The user id to list overrides for (required)."
    },
    "offset": {
      "description": "Pagination offset.",
      "type": "number"
    },
    "limit": {
      "description": "Max overrides to return.",
      "type": "number"
    }
  },
  "required": [
    "userId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴allquiet_create_incident(title, status, severity, message, messageIsPublic, ...)

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.

Input Schema

{
  "type": "object",
  "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."
    },
    "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."
    },
    "message": {
      "description": "Incident message/description.",
      "type": "string"
    },
    "messageIsPublic": {
      "description": "Whether the message is visible on a public status page.",
      "type": "boolean"
    },
    "teamIds": {
      "description": "Ids of teams to associate with the incident.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "serviceIds": {
      "description": "Ids of affected services.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "integrationId": {
      "description": "Id of the integration that should own/route the incident.",
      "type": "string"
    }
  },
  "required": [
    "title",
    "status",
    "severity"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴allquiet_update_incident(incidentId, changeSeverity, appendIntent, intentMessage)

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}.

Input Schema

{
  "type": "object",
  "properties": {
    "incidentId": {
      "type": "string",
      "description": "The incident id to update (required)."
    },
    "changeSeverity": {
      "description": "New severity to set on the incident.",
      "type": "string"
    },
    "appendIntent": {
      "description": "Lifecycle action/intent to append (e.g. acknowledge/resolve/reopen/snooze — a status transition). Confirm valid values for your account.",
      "type": "string"
    },
    "intentMessage": {
      "description": "Optional message to attach to the appended intent.",
      "type": "string"
    }
  },
  "required": [
    "incidentId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴allquiet_create_on_call_override(userId, type, teamId, escalationTier, replacementUserIds, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "description": "The user id the override applies to (required)."
    },
    "type": {
      "type": "string",
      "description": "Override kind (required) — free-form, validated by the API. Confirm valid values for your account."
    },
    "teamId": {
      "description": "Team id the override applies within.",
      "type": "string"
    },
    "escalationTier": {
      "description": "Escalation tier the override applies to.",
      "type": "number"
    },
    "replacementUserIds": {
      "description": "Ids of the replacement user(s) on call.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "start": {
      "description": "ISO8601 start of the override window.",
      "type": "string"
    },
    "end": {
      "description": "ISO8601 end of the override window.",
      "type": "string"
    }
  },
  "required": [
    "userId",
    "type"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools