Skip to main content
Glama

Update issue

jira_update_issue
Idempotent

Update specific Jira issue fields—summary, assignee, priority, labels, parent Epic, due date, or custom fields—without altering values you omit.

Instructions

Updates fields on an issue. Only provided fields change. labels replaces the whole set; use addLabels/removeLabels for incremental changes. Set parentKey to move an issue under a different Epic, or null to detach.

Input Schema

NameRequiredDescriptionDefault
siteNoJira site to use when your account has several: cloud id, site name, or URL (e.g. 'acme' or 'acme.atlassian.net'). Omit to use the selected/default site.
labelsNoReplaces all labels.
dueDateNoYYYY-MM-DD or null to clear.
summaryNo
assigneeNoAssignee: 'me', an accountId, an email, or a display name (must match exactly one user). null or 'unassigned' clears it.
issueKeyYesIssue key, e.g. 'THEOS-123'.
priorityNo
addLabelsNo
issueTypeNoChange the issue type (same hierarchy level only).
parentKeyNo
componentsNo
descriptionNoNew description (replaces the existing one) in Markdown. Headings, lists, code blocks, links, bold/italic and tables are converted to Jira's rich text format.
fixVersionsNo
storyPointsNo
customFieldsNoExtra fields keyed by field name or id (e.g. {"Story Points": 5, "customfield_10020": 42}). Values are sent as-is, so use Jira's shape for the field type.
removeLabelsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=true; the description usefully corroborates the partial-update/idempotent behavior and, importantly, discloses that `labels` wholesale replaces the existing set — a destructive nuance the annotations mask with destructiveHint=false. It omits permissions requirements, error behavior for bad issue keys, and what the call returns.

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

Conciseness5/5

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

Three short sentences, each carrying distinct information: mutation semantics first, then the dangerous field, then the structural move case. No filler, no restatement of the title, correctly front-loaded.

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

Completeness3/5

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

For a 16-parameter mutation with no output schema and a nested customFields object, the description covers the key traps but says nothing about the response, about how customFields interacts with typed fields like storyPoints, or about when a sibling (assign/transition) is the better route.

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

Parameters3/5

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

Schema coverage is only 50% across 16 parameters. The description compensates for the highest-risk cases (labels replacement, parentKey move vs null detach), but leaves summary, priority, components, fixVersions, storyPoints, addLabels, and removeLabels undocumented in either place. That is real added value without fully closing the coverage gap.

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

Purpose4/5

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

States a specific verb and resource ("Updates fields on an issue") and immediately narrows the scope with partial-update semantics. It is distinguishable from jira_create_issue and jira_transition_issue, though it never addresses the overlap with jira_assign_issue, which also appears in the sibling list despite assignee being a parameter here.

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

Usage Guidelines4/5

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

"Only provided fields change" plus the explicit labels-vs-addLabels/removeLabels routing and the parentKey move/detach instruction give an agent actionable guidance on how to shape a call. It falls short of a 5 because it never states when to prefer this tool over siblings such as jira_transition_issue or jira_assign_issue, and gives no prerequisites or failure conditions.

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