Skip to main content
Glama

tempo_update_plan

Update an existing Tempo plan by ID, changing only supplied fields while preserving the rest. Preview and confirm changes before applying to avoid overwriting concurrent edits.

Instructions

Update an existing Tempo plan (resource allocation) by id. Supply only the fields to change. Fields you omit keep their current values: the tool reads the current resource and merges your fields over it (the update replaces the whole resource, so one built from only the changed fields would wipe the rest). That read runs on every call, so the preview shows the full merged body, and a resource that changes between the preview and the confirmed call is refused rather than overwritten. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesPlan id
ruleNoRecurrence rule
endDateNoPlan end date (YYYY-MM-DD)
startDateNoPlan start date (YYYY-MM-DD)
startTimeNoStart time (HH:mm)
assigneeIdNoAtlassian account id (for USER) or generic resource id (for GENERIC)
planItemIdNoId of the issue or project to plan against
descriptionNoPlan description
assigneeTypeNoType of assignee
confirmTokenNoONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation.
planItemTypeNoType of plan item
plannedSecondsNoTotal seconds planned (for TOTAL_SECONDS persistence type)
recurrenceEndDateNoEnd date for recurrence (YYYY-MM-DD)
plannedSecondsPerDayNoSeconds planned per day (for SECONDS_PER_DAY persistence type)
effortPersistenceTypeNoHow effort is distributed
includeNonWorkingDaysNoInclude non-working days in plan

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.2.1

TDQS

A4.5/5.0
Behavior5/5

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

Far exceeds the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true). It discloses the read-modify-write merge semantics, warns that a body built from only changed fields would wipe the rest, states a read runs on every call, and documents optimistic-concurrency refusal when the resource changes between preview and confirm. The confirmToken lifecycle (never first call, never invented, never reused, ignored under elicitation) is spelled out.

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?

Five sentences is on the long side, but the purpose and merge rule are front-loaded and every clause carries non-redundant operational information. Slightly dense but no filler; acceptable given 16 parameters and a two-phase confirmation flow.

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

Completeness4/5

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

There is no output schema, and the description compensates by describing the preview response (full merged body) and the confirmation-required response with confirmToken. It never states what a successful confirmed update returns, which is the one remaining gap for a mutation tool.

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 description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining what omission of a field means (it is preserved via merge) and how confirmToken is consumed, which changes how an agent should decide which optional parameters to send.

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 ('Update an existing Tempo plan') and disambiguates the non-obvious domain term with the parenthetical '(resource allocation)'. Combined with the name, an agent can distinguish this from tempo_create_plan, tempo_get_plan, and tempo_delete_plan without opening a schema.

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?

Gives clear operational context: supply only the fields to change, an id is mandatory, and the call requires user confirmation before it proceeds. It does not explicitly route the agent to alternatives (create_plan for new plans), but the usage conditions for this tool are well defined.

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