Skip to main content
Glama
rrvrs

jira-alerts-mcp

Escalate a JSM alert through an escalation policy

jsm_escalate_alert
Idempotent

Immediately push a JSM alert into an escalation policy when it isn't being picked up, bypassing the escalation timer. Pages the next responders now.

Instructions

Push a JSM alert into an escalation policy immediately, rather than waiting for it to escalate on its own.

Use this when an alert is not getting picked up and waiting out the escalation timer is not acceptable. It pages the next people in that policy now.

Args:

  • alert_id (string): the full alert id (not the tinyId)

  • escalation_id (string): id of the escalation policy to run

Returns: { "requestId": string, "result": string, "alert_id": string }

IMPORTANT: this action is asynchronous. Verify with jsm_get_request_status using the returned requestId.

This pages people out of band, ahead of the schedule they agreed to. Confirm with the user before escalating on their behalf.

escalation_id is an escalation policy id — not a team id and not a schedule id. The three are separate objects with separate ids, and passing the wrong one fails with 422 rather than escalating to something adjacent.

Examples:

  • "Nobody has picked this up, escalate it" -> get the escalation id for the team, then escalate

Constraints and errors:

  • HTTP 422 or a failed request status usually means escalation_id is not an escalation, or belongs to a different team than the alert.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
alert_idYesFull alert id, e.g. '9b251e07-73c9-4907-9996-8cb53a6a20d0-1704440650350'. This is NOT the short tinyId shown in the JSM UI — get the full id from jsm_list_alerts first.
escalation_idYesId of the escalation policy to escalate through. This is an escalation id, not a team or schedule id — the three are separate objects with separate ids.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultNo
alert_idYes
requestIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv2.1.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Addedv2.0.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover safety flags, but the description adds substantial behavior they do not: the call is asynchronous, must be verified via jsm_get_request_status with the returned requestId, and pages people out of band ahead of their agreed schedule. It also maps the failure mode (HTTP 422) to a specific cause. No contradiction with idempotentHint/destructiveHint.

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?

Front-loaded purpose with clean sections (Args, Returns, IMPORTANT, Examples, Constraints) and no wasted framing. It loses a point for repeating the escalation_id-is-not-a-team-id warning three separate times, which pads the length.

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?

Even though an output schema exists, the description states the return shape and, more importantly, the async verification step an agent must take. Combined with the parameter guidance and error handling, nothing needed to invoke this correctly is missing.

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, but the description reinforces the two easily-confused id types (full alert id vs tinyId; escalation id vs team/schedule id) and attaches the concrete consequence of passing the wrong one (422 rather than escalating to something adjacent). This meaning is largely duplicated from the schema, so it earns a bump rather than a top score.

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 ('Push a JSM alert into an escalation policy') plus the immediate-vs-scheduled distinction that separates it from passive escalation. An agent can tell this apart from jsm_assign_alert or jsm_execute_alert_action without opening the schema.

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?

Gives an explicit triggering condition ('an alert is not getting picked up and waiting out the escalation timer is not acceptable') and an explicit caution to confirm with the user before acting on their behalf. The when-not case is implied by 'rather than waiting for it to escalate on its own.'

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