all-quiet

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

我该使用它吗

质量与安全性

A
描述质量
96%
模式完整度
96%
命名质量
76%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(2)

  • LOWTool 'allquiet_list_on_call_overrides' name length outside 3-30 range在 allquiet_list_on_call_overrides 中
  • LOWTool 'allquiet_create_on_call_override' name length outside 3-30 range在 allquiet_create_on_call_override 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,117token 数(工具定义)
~1.6 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.65%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(11)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢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.

输入模式

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

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

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

输入模式

{
  "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.

输入模式

{
  "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#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本11 个工具