Skip to main content
Glama
rrvrs

jira-alerts-mcp

Assign a JSM alert to a person

jsm_assign_alert
Idempotent

Assign a single JSM alert to one owner so it's clear who is working it. Use when triage decides whose problem it is.

Instructions

Make one person the owner of a JSM alert, so it is clear who is working it.

Assigning names an owner; jsm_add_alert_responder adds people to notify without taking ownership away. Reach for this when triage has decided whose problem it is, and for that one alert rather than a class of them — routing rules, not assignment, are how a class of alerts finds its team.

Args:

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

  • account_id (string): Atlassian account id of the assignee

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

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

account_id is an Atlassian account id, not an email address and not a display name. It looks like '712020:9ae5385e-6a4c-4f0e-9c02-6f8a1e21d7b1'. Both other forms are rejected. To find one: jsm_get_on_call and jsm_get_alert both return account ids for the people they name, so read the id from there rather than guessing from a name.

Examples:

  • "Assign this to whoever is on call for payments" -> jsm_get_on_call first, take the account id from the result, then assign

Constraints and errors:

  • HTTP 422 or a failed request status usually means the account id is wrong, or the account has no JSM Operations access on that team.

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.
account_idYesAtlassian account id of the assignee, e.g. '712020:9ae5385e-…'. NOT an email address and NOT a display name — both are rejected. Account ids appear in jsm_get_alert's responder and owner fields and in jsm_get_on_call.

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 already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), and the description goes well beyond them: it discloses that the call is asynchronous, mandates verification via jsm_get_request_status with the returned requestId, and maps the common failure mode (HTTP 422 / failed status) to its cause. That is exactly the added behavioral context the annotations cannot carry.

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-loads the core purpose and the sibling distinction, then layers args, return shape, async caveat, example, and error mapping in a scannable order. Some content (the account id format and the 'not an email' warning) is repeated from the schema, which is the only thing keeping it from a 5.

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?

Despite an output schema existing, the description still surfaces the return shape and — more importantly — the asynchronous requirement to poll jsm_get_request_status, which an agent would otherwise miss. Combined with the error mapping and id-source guidance, nothing needed to invoke this correctly is absent.

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 compensates for the ambiguity traps: it stresses full alert id vs tinyId, and account_id as an Atlassian id rather than email/display name, plus how to obtain one from jsm_get_on_call or jsm_get_alert. This largely duplicates the schema text, however, so it is useful reinforcement rather than net-new semantics.

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 ('Make one person the owner of a JSM alert') and immediately contrasts it with the nearest sibling, jsm_add_alert_responder, by explaining that assignment confers ownership while adding a responder does not. An agent can select between the two without opening either 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 explicit when-to-use ('when triage has decided whose problem it is'), an explicit scope exclusion ('for that one alert rather than a class of them — routing rules, not assignment, are how a class of alerts finds its team'), and a prerequisite workflow example for the common on-call case. This is close to the ideal for routing guidance.

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