Skip to main content
Glama

Post an update to a status page incident

post_status_page_update

Add a public update to an existing status page incident and set its status; RESOLVED closes it and notifies confirmed subscribers.

Instructions

Add a message to an existing status page incident and set its status; RESOLVED closes it. It is public and emails the page's confirmed subscribers: confirm the wording with the user before calling. Every confirmed subscriber gets the update, except that resolving an incident they were never told about stays silent. To open a new incident use create_status_page_incident; to fix only the title, silently, use update_status_page_incident. Requires a key with the write scope. A resolved incident accepts only further RESOLVED updates; any other status is a 409. Returns the incident. Example: {"page_id": "", "incident_id": "", "status": "RESOLVED", "body": "Fixed; error rates are back to normal."}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesThe message subscribers read, 1 to 5000 characters.
statusYesINVESTIGATING, IDENTIFIED, MONITORING or RESOLVED; RESOLVED closes the incident on the page.
page_idYesThe status page's uuid from list_status_pages. An id that is not a status page of this organization is a 404.
incident_idYesThe status page incident's uuid from list_status_page_incidents (not from list_incidents). An unknown id is a 404.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
titleYes
statusYesKnown values: INVESTIGATING, IDENTIFIED, MONITORING, RESOLVED.
is_autoYes
updatesYes
started_atYes
notified_atYes
resolved_atYes
component_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.6.1
    • addedInput schema / properties / body / description
      Added value: +"The message subscribers read, 1 to 5000 characters."
    • addedInput schema / properties / incident_id / description
      Added value: +"The status page incident's uuid from list_status_page_incidents (not from list_incidents). An unknown id is a 404."
    • addedInput schema / properties / page_id / description
      Added value: +"The status page's uuid from list_status_pages. An id that is not a status page of this organization is a 404."
    • addedInput schema / properties / status / description
      Added value: +"INVESTIGATING, IDENTIFIED, MONITORING or RESOLVED; RESOLVED closes the incident on the page."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "component_ids": {
      +      "items": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "is_auto": {
      +      "type": "boolean"
      +    },
      +    "notified_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "resolved_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "started_at": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Known values: INVESTIGATING, IDENTIFIED, MONITORING, RESOLVED.",
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "updates": {
      +      "items": {
      +        "properties": {
      +          "body": {
      +            "type": "string"
      +          },
      +          "created_at": {
      +            "type": "string"
      +          },
      +          "created_by": {
      +            "anyOf": [
      +              {
      +                "format": "uuid",
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "format": "uuid",
      +            "type": "string"
      +          },
      +          "status": {
      +            "description": "Known values: INVESTIGATING, IDENTIFIED, MONITORING, RESOLVED.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "status",
      +          "body",
      +          "created_by",
      +          "created_at"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "title",
      +    "status",
      +    "is_auto",
      +    "started_at",
      +    "resolved_at",
      +    "notified_at",
      +    "component_ids",
      +    "updates"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.5.4

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide the generic write profile (readOnly=false, idempotent=false), while the description supplies the traits that actually change agent behavior: the update is public, it emails confirmed subscribers, resolving a never-notified incident stays silent, a write-scope key is required, and a resolved incident only accepts further RESOLVED updates (409 otherwise). None of this is inferable from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: the public/email warning follows immediately on the purpose statement and outranks the alternatives and error semantics that come after. It is one long multi-clause paragraph plus an inline example, which slightly hurts scannability, but essentially every sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-param mutation tool with an output schema, the description covers the gaps that matter: side effects, auth scope, conflict behavior, and sibling routing. Return values are covered by the output schema, and no destructive or idempotency surprise is left unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes modestly beyond it by binding each id to its provenance tool (page_id from list_status_pages, incident_id from list_status_page_incidents) and by attaching the 409 constraint to the status value. The worked example clarifies required-field combination but largely restates schema-documented fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Add a message to an existing status page incident and set its status') with a crucial scope qualifier: RESOLVED closes it. It also explicitly distinguishes itself from create_status_page_incident and update_status_page_incident, so an agent can route correctly without opening sibling schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names both alternatives with the exact condition that selects each ('To open a new incident use create_status_page_incident; to fix only the title, silently, use update_status_page_incident'). It also gives a pre-call obligation — confirm the wording with the user — which is actionable guidance, not just context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.